파이썬으로 gif의 시각화/읽기/쓰기 + 고속화【OpenCV】
8467 단어 성능파이썬OpenCVscikit-video
직업 무늬 자주 쓰는 느낌(?)
로딩
scikit-video 버전
from skvideo.io import vread
gif = vread("sample.gif")
# print(gif.shape) # => (例): (21, 600, 600, 3)
OpenCV 버전
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) # => (例): (21, 600, 600, 3)
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()
표시
창 표시
import cv2
cv2.namedWindow("frame", cv2.WINDOW_NORMAL)
for t in range(len(gif)):
cv2.imshow("frame", gif[t])
cv2.waitKey(50) # 少しだけ待たないと表示されない
cv2.destroyAllWindows()
jupyter에서의 표시
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()
쓰기
import moviepy.editor as mpy
def npy_to_gif(npy, filename):
clip = mpy.ImageSequenceClip(list(npy), fps=10)
clip.write_gif(filename)
(로드 시간 비교)
import cv2
cv2.namedWindow("frame", cv2.WINDOW_NORMAL)
for t in range(len(gif)):
cv2.imshow("frame", gif[t])
cv2.waitKey(50) # 少しだけ待たないと表示されない
cv2.destroyAllWindows()
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()
import moviepy.editor as mpy
def npy_to_gif(npy, filename):
clip = mpy.ImageSequenceClip(list(npy), fps=10)
clip.write_gif(filename)
(로드 시간 비교)
이상!
(gif는 여기에서 빌렸습니다 htps: //미로. 메 m. 이 m / ma x / 1200 / 1 * Ln Q5s ru-tJmlvRWmDsdSvw. 기 f)
Reference
이 문제에 관하여(파이썬으로 gif의 시각화/읽기/쓰기 + 고속화【OpenCV】), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/namahoge/items/d01758bcc3ff1c9d04a0
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
Reference
이 문제에 관하여(파이썬으로 gif의 시각화/읽기/쓰기 + 고속화【OpenCV】), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/namahoge/items/d01758bcc3ff1c9d04a0텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)