본문 바로가기

[ 프로그래밍 ]/강좌

OpenCV 강좌 09. 마커에 동영상 삽입하기

예언자일보 프로젝트의 대미를 장식할 마지막 단계.
검출된 마커에 동영상을 삽입하는 방법이다.

동영상이라고 하는 것이 뭐 거창한 것 같지만 실제 형태는 스틸컷의 연결 정도로 보는 것이 적당하다. (MPEG 압축 등은 별개)
다시말해 모든 프레임을 이미지 형태로 가져올 수 있다는 말이다.

이렇게 매 프레임을 추출된 마커의 꼭지점 정보를 이용하여 변형한 뒤 원 영상에 삽입함으로써
일명, 예언자일보 프로젝트를 마무리 한다.


1. 변수 선언
- 동영상 파일을 불러오기 위한 변수 선언. 캠 영상과 그 형태가 같다.


2. 파일 불러오기
- 동영상 파일의 경로를 설정한다.





3. 프레임 이미지 얻어오기
- 현재 프레임의 이미지를 임시 변수인 IplImage* MusicVideo에 가져온다.
이 변수는 메모리를 할당받아 사용하는 것이 아니라 프레임의 주소만을 가져오므로 따로 메모리를 해제하지 않는다.

- 이미지의 크기를 이용하여 뮤직비디오의 좌표계를 설정한다.



4. 좌표 변환행렬 생성 및 와핑
- 마커의 네 꼭지점을 위와 같은 순서(LEFT-TOP → RIGHT-TOP → RIGHT-BOTTOM → LEFT_BOTTOM)로 정렬한 뒤,
ptPrespective 변수에 넣는다.



- 변환행렬 생성 및 와핑. OpenCV의 장점이 유감없이 발휘되는 시간이다.
와핑에 대한 자세한 내용은 cvWarpPerspective() 사용 방법을 참고하면 된다.



5. 최종테스트
- 멀티미디어 신문



- 다중 마커 테스트



캠을 사면 제일 먼저 해보리라 마음 먹었었던, 예언자일보 프로젝트를 강좌형식으로 진행하면서
예상치 못했던 많은 사람들이 함께 공감해주고 즐거워하는 것에 대단히 보람을 느꼈습니다.

저역시 아직 공부하는 단계이고 부족한 것이 많은데도 불구하고,
다른 강좌를 이끌어 달라는 메일과 쪽지들에 고맙기도 하면서,
부족한 제 모습에 한편으로 무거운 마음 금할 길이 없습니다.

형식이 그러하다 보니 아무래도 시간 소요가 많은 것은 사실입니다만,
제가 어설프게 알고 있던 부분들을 누군가에게 이야기하기 위해 더 자세하고 확실하게 알아야 한다는 점은
강좌형식으로 프로젝트를 진행해 나갈 때의 소중한 장점 중 하나입니다.

앞으로도 영상처리와 관련된 다양한 아이템들로 강좌를 진행할 예정입니다.
부디 초보자분들에게는 영상처리 개념을 잡는데 도움이 되고,
중고급 프로그래머분들에게는 답글을 달 "꺼리'를 제공할 수 있고, 토론의 장이 될 수 있는 그런 강좌들이 되면 좋겠습니다.

고맙습니다.