배경 삭제(Background Remove, Background Subtractor)
BackgroundSubtractor
함수를 이용하여 영상에서의 배경을 지울 수 있습니다.
프레임
들을 비교하여 움직이는 물체(object)
만 표시합니다.
이미지
에는 적용할 수 없으며 카메라
영상을 이용하여 프레임을 비교하여 배경을 삭제합니다.
원본(Source, src)
은 영상을 사용합니다.
메인 코드
세부 코드
BackgroundSubtractor
함수를 사용하기 위해서는 네임스페이스에 using OpenCvSharp.CPlusPlus;
를 선언해야 사용할 수 있습니다.
Mat
형식의 영상을 생성합니다.
3가지의 함수를 이용하여 배경을 삭제할 수 있습니다.
BackgroundSubtractorGMG
, BackgroundSubtractorMOG
, BackgroundSubtractorMOG2
함수를 사용합니다.
video
의 프레임을 저장할 frame
변수와 배경이 삭제된 후 출력할 remove
를 생성합니다.
Window
창을 선언하여 결과를 표시할 윈도우 창을 생성합니다.
프레임의 너비
와 높이
를 설정합니다.
키 입력
이 있을 때 까지 반복
합니다.
frame
에 비디오 장치에서 읽어온 영상을 저장합니다.
GMG
, MOG
, MOG2
에 배경 삭제 함수를 적용합니다. *.Run(원본, 결과)
입니다.
그 후, ShowImage(출력 이미지)
를 사용하여 결과를 표시합니다.
- Tip : Window 창을 사용하지 않고
Form
에 띄울 경우 pictureBoxIpl1.ImageIpl = remove.ToIplImage();
를 사용합니다.
색상 적용
Bitwise
연산을 통하여 frame
과 remove
영상을 And
연산 후, remove
에 다시 저장하여 출력합니다.
함수 적용
실행될 구문에 함수를 적용합니다. Form 로드 이벤트
또는 Button Click 이벤트
등에 적용합니다.
출력 결과
댓글 남기기