VisualStudio2017에서 Python3/OpenCV를 사용하여 동영상 처리
7537 단어 VisualStudioPython3OpenCV
소개
갑자기 이미지와 동영상을 가공하고 싶어지고 VisualStudio2017에서 Python3/OpenCV를 사용해 보았습니다.
이 기사의 연속입니다.
VisualStudio2017에서 Python3/OpenCV를 사용하여 이미지 표시
구현
했던 일
구현된 처리
· 동영상 로드
· 세로 100px, 가로 200px를 잘라
· 동영상 표시
· 동영상 저장
※gif 형식에서는 동영상의 입출력을 할 수 없었으므로, 수동으로 avi 형식과 gif 형식의 변환을 실시했습니다.
Before
After
샘플 소스
Sample.pyimport numpy as np
import cv2
#任意のパスを指定
clip = cv2.VideoCapture("sample\path\sample_clip.avi")
#読み込んだ動画の情報を取得
clipFps = clip.get(cv2.CAP_PROP_FPS)
clipHeight = clip.get(cv2.CAP_PROP_FRAME_HEIGHT)
clipWidth = clip.get(cv2.CAP_PROP_FRAME_WIDTH)
#対応してないコーデックを指定すると、上手く動画が出力されない
codec = cv2.VideoWriter_fourcc(*'DIVX')
#出力する動画の情報を指定
editedClipHeight = 100
editedClipWidth = 200
#出力先の任意のパスを指定
outputPathAndFilename = 'sample\path\output.avi'
#出力する動画の解像度と指定した解像度がずれると、上手く動画が出力されない
clipWriter = cv2.VideoWriter(outputPathAndFilename, codec, clipFps, (editedClipWidth, editedClipHeight))
while(clip.isOpened()):
ret, frame = clip.read()
if ret == True:
#左上を起点に、[縦100px, 横200px]を切り出す
editedClip = frame[0:editedClipHeight,0:editedClipWidth]
clipWriter.write(editedClip)
cv2.imshow('SampleClip', editedClip)
#[ q ]を押すと表示が終了する
if cv2.waitKey(25) & 0xFF == ord('q'):
break
clip.release()
clipWriter.release()
cv2.destroyAllWindows()
빠진 포인트
아무것도 생각하지 않고 아래의 소스를 복사하면 동영상을 잘 저장할 수 없었기 때문에 비망.
동영상 저장 — 동영상 처리 — OpenCV-Python Tutorials 1 documentation
아래와 같은 현상이 발생하고 있었습니다만, 재설정으로 해결했습니다.
파일은 출력된다.
그러나 재생하려고해도 동영상이 흐르지 않는다.
파일 속성을 확인하면 크기가 작습니다.
다른 해결책을 아시는 분이 있으면 가르쳐 주셨으면 합니다.
1. 지원되지 않는 코덱을 지정합니다.
Sample.py#対応してないコーデックを指定すると、上手く動画が出力されない
codec = cv2.VideoWriter_fourcc(*'DIVX')
환경에 따라 사용 가능한 코덱이 다르게 보입니다.
2. 출력하는 동영상의 해상도와 VideoWriter에서 지정한 해상도가 다름
Sample.py#出力する動画の解像度と指定した解像度がずれると、上手く動画が出力されない
clipWriter = cv2.VideoWriter(outputPathAndFilename, codec, clipFps, (editedClipWidth, editedClipHeight))
참고 자료
동영상 처리하기 — OpenCV-Python Tutorials 1 documentation
Reference
이 문제에 관하여(VisualStudio2017에서 Python3/OpenCV를 사용하여 동영상 처리), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/kaysquare1231/items/7ec224d44cb34827e18f
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
했던 일
구현된 처리
· 동영상 로드
· 세로 100px, 가로 200px를 잘라
· 동영상 표시
· 동영상 저장
※gif 형식에서는 동영상의 입출력을 할 수 없었으므로, 수동으로 avi 형식과 gif 형식의 변환을 실시했습니다.
Before
After
샘플 소스
Sample.py
import numpy as np
import cv2
#任意のパスを指定
clip = cv2.VideoCapture("sample\path\sample_clip.avi")
#読み込んだ動画の情報を取得
clipFps = clip.get(cv2.CAP_PROP_FPS)
clipHeight = clip.get(cv2.CAP_PROP_FRAME_HEIGHT)
clipWidth = clip.get(cv2.CAP_PROP_FRAME_WIDTH)
#対応してないコーデックを指定すると、上手く動画が出力されない
codec = cv2.VideoWriter_fourcc(*'DIVX')
#出力する動画の情報を指定
editedClipHeight = 100
editedClipWidth = 200
#出力先の任意のパスを指定
outputPathAndFilename = 'sample\path\output.avi'
#出力する動画の解像度と指定した解像度がずれると、上手く動画が出力されない
clipWriter = cv2.VideoWriter(outputPathAndFilename, codec, clipFps, (editedClipWidth, editedClipHeight))
while(clip.isOpened()):
ret, frame = clip.read()
if ret == True:
#左上を起点に、[縦100px, 横200px]を切り出す
editedClip = frame[0:editedClipHeight,0:editedClipWidth]
clipWriter.write(editedClip)
cv2.imshow('SampleClip', editedClip)
#[ q ]を押すと表示が終了する
if cv2.waitKey(25) & 0xFF == ord('q'):
break
clip.release()
clipWriter.release()
cv2.destroyAllWindows()
빠진 포인트
아무것도 생각하지 않고 아래의 소스를 복사하면 동영상을 잘 저장할 수 없었기 때문에 비망.
동영상 저장 — 동영상 처리 — OpenCV-Python Tutorials 1 documentation
아래와 같은 현상이 발생하고 있었습니다만, 재설정으로 해결했습니다.
파일은 출력된다.
그러나 재생하려고해도 동영상이 흐르지 않는다.
파일 속성을 확인하면 크기가 작습니다.
다른 해결책을 아시는 분이 있으면 가르쳐 주셨으면 합니다.
1. 지원되지 않는 코덱을 지정합니다.
Sample.py
#対応してないコーデックを指定すると、上手く動画が出力されない
codec = cv2.VideoWriter_fourcc(*'DIVX')
환경에 따라 사용 가능한 코덱이 다르게 보입니다.
2. 출력하는 동영상의 해상도와 VideoWriter에서 지정한 해상도가 다름
Sample.py
#出力する動画の解像度と指定した解像度がずれると、上手く動画が出力されない
clipWriter = cv2.VideoWriter(outputPathAndFilename, codec, clipFps, (editedClipWidth, editedClipHeight))
참고 자료
동영상 처리하기 — OpenCV-Python Tutorials 1 documentation
Reference
이 문제에 관하여(VisualStudio2017에서 Python3/OpenCV를 사용하여 동영상 처리), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/kaysquare1231/items/7ec224d44cb34827e18f
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
Reference
이 문제에 관하여(VisualStudio2017에서 Python3/OpenCV를 사용하여 동영상 처리), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/kaysquare1231/items/7ec224d44cb34827e18f텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)