C# OpenCV 강좌 : 제 19강 - 캡쳐 및 녹화
캡쳐(Capture) 및 녹화(Record)
영상이나 이미지를 캡쳐하거나 녹화
하기 위해 사용합니다.
영상이나 이미지를 연속적 또는 순간적으로 캡쳐하거나 녹화
할 수 있습니다.
원본(Source, src)
은 영상이나 이미지를 사용합니다.
프로젝트 구성
도구상자에서 Timer
, Button
을 Form1에 생성합니다.
timer2
, button1
, button2
,button3
를 생성하며 timer2
의 Enable
은 False
로 Interval
은 33
으로 설정합니다.
3강
또는 4강
의 프로젝트를 그대로 이어서 사용하시면 됩니다.
캡쳐(Capture)
단일 캡쳐
Cv.SaveImage()
을 사용하여 영상이나 이미지를 캡쳐하여 저장합니다. Cv.SaveImage("경로및이름", 저장영상)
입니다.
Button1
을 클릭하면 그 시점의 영상이 캡쳐되어 지정된 경로로 저장됩니다.
- Tip : 연속적으로 캡쳐된 이미지는
capture.jpg
에 덮어씌워집니다.
다중 캡쳐
Button1
을 클릭하면 그 시점의 영상이 캡쳐되어 지정된 경로에 현재시간의 제목으로 저장됩니다.
DateTime.Now
을 이용하여 실행된 순간의 시간을 받아옵니다.
이를 제목으로 사용하여 연속된 캡쳐도 저장되게 합니다.
초 단위
로 캡쳐시 단일 캡쳐
처럼 덮어씌워지는데, 초 단위
캡쳐를 이용하려면 배열 또는 타이머
등을 이용합니다.
- Tip : 연속적으로 캡쳐된 이미지는
현재시간
을 제목으로 저장됩니다. - Tip : 파일의 이름에는
\
,/
,:
,*
,?
,"
,<
,>
,|
은 입력될 수 없습니다.
녹화(Record)
단일 녹화
timer2
를 켰다가 끄는 방식으로 원하는 지점에서의 영상을 시작합니다.
button2
는 timer2
를 Enable = true
하여 녹화를 시작하며, button3
은 timer2
를 Enable = false
하여 녹화를 중지합니다.
전역변수 OpenCV_Video
를 생성하여 단일 녹화
를 할 수있게 생성합니다.
CvVideoWriter
를 사용합니다. CvVideoWriter("경로및이름", "FourCC", fps, 영상크기)
를 입력합니다.
-
Tip :
FourCC(Four Character Code)
: 디지털 미디어 포맷 코드입니다. 즉, 코덱의 인코딩 방식을 의미합니다.CVID
,Default
,DIB
,DIVX
,H261
,H263
,H264
,IV32
,IV41
,IV50
,IYUB
,MJPG
,MP42
,MP43
,MPG4
,MSVC
,PIM1
,Prompt
,XVID
가 있습니다.
-
Tip :
fps(Frame Per Second)
: 영상이 바뀌는 속도를 의미합니다. 즉, 화면의 부드러움을 의미합니다.
button2
를 누르는 순간부터 button3
을 누를 때까지 영상이 녹화됩니다.
다시 button2
를 누르고 button3
을 누르면 새롭게 저장되는 것이 아니라 영상이 덧 붙여져서 하나의 영상으로 생성
됩니다.
다중 녹화
다중 캡쳐
방식과 동일하며, 다른 점은 OpenCV_video
를 프로그램 실행시 생성시키는 것이 아니라 button2
의 녹화 시작을 눌렀을 때 생성
합니다.
이와 같은 방법은 button2
를 누를 때마다 새롭게 그 때의 시간으로 영상제목을 생성하여 저장
합니다.
댓글 남기기