opencvでの動画ファイルエッジ検出後の保存方法
opencvの使い方で分からないことがあります。
元の動画ファイルをopencvでエッジ検出させ、新たに動画ファイルとして保存したいと思い、
以下のコードで実行しようとしました。
import numpy as np
import cv2
cap = cv2.VideoCapture('video.mp4')
fps = cap.get(cv2.CAP_PROP_FPS)
height = cap.get(cv2.CAP_PROP_FRAME_HEIGHT)
width = cap.get(cv2.CAP_PROP_FRAME_WIDTH)
fourcc = cv2.VideoWriter_fourcc('m', 'p', '4', 'v')
out = cv2.VideoWriter('output.mp4', int(fourcc), fps, (int(width), int(height)))
while(cap.isOpened()):
try:
ret, frame = cap.read()
edge = cv2.Canny(frame,50,100)
out.write(edge)
cv2.imshow('frame',edge)
if cv2.waitKey(1) & 0xFF == ord('q'):
break
except:
break
out.release()
cap.release()
cv2.destroyAllWindows()
動画ファイルは出力されますが、中身が再生できません。
ご教授お願いします。