Laden / Anzeigen und Beschleunigen von GIF mit Python [OpenCV]

Es ist komplett ein Memo. .. Ich habe das Gefühl, ich benutze es oft (?)

Lesen

Scikit-Video-Version

from skvideo.io import vread
gif = vread("sample.gif")
# print(gif.shape) # => (Beispiel): (21, 600, 600, 3)

――Aber das ist langsam, also denke ich ↓ ist besser

OpenCV-Version

--Schnell

import cv2
import numpy as np

# faster than `vread` in `skvideo.io`
def vread(path, T=30):
    cap = cv2.VideoCapture(path)
    gif = [cap.read()[1][:,:,::-1] for i in range(T)]
    gif = np.array(gif)
    cap.release()
    return gif

gif = vread("sample.gif", T=21)
# print(gif.shape) # => (Beispiel): (21, 600, 600, 3)

――Der einzige Nachteil ist, dass Sie die Anzahl der Frames angeben müssen.

import cv2

filepath = "data/raw/GH010005-0.mp4"
cap = cv2.VideoCapture(filepath)

while(cap.isOpened()):
    ret, frame = cap.read()
    if ret:
        cv2.imshow("Frame", frame)
        cv2.waitKey(1)
    else:
        cap.release()
cv2.destroyAllWindows()

Anzeige

Fensteranzeige

import cv2
cv2.namedWindow("frame", cv2.WINDOW_NORMAL)

for t in range(len(gif)):
    cv2.imshow("frame", gif[t])
    cv2.waitKey(50) #Es wird nur angezeigt, wenn Sie eine Weile warten

cv2.destroyAllWindows()

output (1).gif

Anzeige auf Jupiter

import matplotlib.pyplot as plt
%matplotlib inline

plt.figure(figsize=(21,9))
for t in range(21):
    plt.subplot(3,7,t+1)
    plt.imshow(gif[t])
plt.show()

Screenshot from 2019-11-24 20-56-10.png

Schreiben

import moviepy.editor as mpy
def npy_to_gif(npy, filename):
    clip = mpy.ImageSequenceClip(list(npy), fps=10)
    clip.write_gif(filename)

(Vergleich der Ladezeit)

Screenshot from 2019-11-24 21-02-39.png

das ist alles!

(Gif von hier ausgeliehen https://miro.medium.com/max/1200/1*LnQ5sRu-tJmlvRWmDsdSvw.gif)

Recommended Posts

Laden / Anzeigen und Beschleunigen von GIF mit Python [OpenCV]
Leuchtendes Leben mit Python und OpenCV
Neuronales Netzwerk mit OpenCV 3 und Python 3
Lesen und Schreiben von NetCDF mit Python
Lesen und Schreiben von CSV mit Python
Bilder mit Pupil, Python und OpenCV aufnehmen
Lesen und Schreiben von JSON-Dateien mit Python
Hallo Welt- und Gesichtserkennung mit OpenCV 4.3 + Python
Installieren Sie OpenCV 4.0 und Python 3.7 unter Windows 10 mit Anaconda
Lesen und Schreiben passt Dateien mit Python (Memo)
Feature Matching mit OpenCV 3 und Python 3 (A-KAZE, KNN)
Beispiel für das Lesen und Schreiben von CSV mit Python
Binarisierung mit OpenCV / Python
Ich habe versucht, Python-Code zu beschleunigen, einschließlich der if-Anweisung mit Numba und Cython
Ubuntu 20.04 auf Himbeer-Pi 4 mit OpenCV und mit Python verwenden
Hinweise zur Beschleunigung des Python-Codes mit Numba
[Python] Webkamera-Rahmengröße und FPS-Einstellungen mit OpenCV
Programmieren mit Python und Tkinter
Ver- und Entschlüsselung mit Python
"Apple-Verarbeitung" mit OpenCV3 + Python3
Python und Hardware-Verwenden von RS232C mit Python-
Bildbearbeitung mit Python OpenCV
Kameraerfassung mit Python + OpenCV
TXT-Dateien mit Python lesen
Gesichtserkennung mit Python + OpenCV
Python mit Pyenv und Venv
In Bezug auf die Beschleunigung von Python (Hinweis)
Verwenden von OpenCV mit Python @Mac
Funktioniert mit Python und R.
Sehen Sie, wie schnell Sie mit NumPy / SciPy beschleunigen können
Versuchen Sie, ein Unterfenster mit PyQt5 und Python zu öffnen
Konvertieren Sie Videos mit ffmpeg + python + opencv in Schwarzweiß
[Python] Mit OpenCV können Sie problemlos Bilddateien mit Seriennummern lesen
Kommunizieren Sie mit FX-5204PS mit Python und PyUSB
Umgebungskonstruktion von Python und OpenCV
Automatische Bildinterpolation mit OpenCV und Python (Fast Marching Method, Navier-Stokes)
Roboter läuft mit Arduino und Python
Installieren Sie Python 2.7.9 und Python 3.4.x mit pip.
[Python] Verwenden von OpenCV mit Python (Bildfilterung)
AM-Modulation und Demodulation mit Python
Scraping mit Node, Ruby und Python
[Python] Verwenden von OpenCV mit Python (Bildtransformation)
Scraping mit Python, Selen und Chromedriver
Erstellen Sie eine gestreifte Illusion mit Gammakorrektur für Python3 und openCV3
Kratzen mit Python und schöner Suppe
So erstellen Sie eine Überwachungskamera (Überwachungskamera) mit Opencv und Python
Erstellen Sie mit Python und OpenCV ein einfaches OMR (Mark Sheet Reader)
JSON-Codierung und -Decodierung mit Python
Einfache Python + OpenCV-Programmierung mit Canopy
[GUI in Python] PyQt5-Drag & Drop-
Zeichnen Sie eine Aquarellillusion mit Kantenerkennung in Python3 und openCV3
Lesen und Schreiben von Python CSV-Dateien
Versuchen Sie die Gesichtserkennung mit Python + OpenCV
Beschleunigen Sie Python mit numba grob
Schneiden Sie das Gesicht mit Python + OpenCV aus
Gesichtserkennung mit Kamera mit opencv3 + python2.7
Ich habe mit PyQt5 und Python3 gespielt
Laden Sie das GIF-Bild mit Python + OpenCV
Finden Sie Bildähnlichkeit mit Python + OpenCV