2022.06.26 금일은 실전코딩 AR 비디오 플레이어에 관한 강의였다.

AR 비디오 플레이어
- 카메라 프레임에 특정 영상이 나타나면 해당 위치에 동영상을 재생하는 기능

- 위 영상처럼 하나의 동영상 파일을 카메라 인풋을 받아 인풋 사이즈에 맞춰 리사이즈해주고
인풋에 합성해서 재생시키는 플레이어를 만든다.
구현할 기능
- 기준 영상과 카메라 프레임 사이의 특징점 검출 및 매칭
- 호모그래피 계산
- 동영상 프레임 투시 변환 & 합성
구현 방법
- 내가 설정해 놓은 Reference Image를 카메라 입력 프레임에서 찾는 ( 매칭점 ) 과정이 필요 한데
이 과정에서 Homograpy 를 계산한다.

그리고 합성할 영상에 Homograpy 를 적용시켜 Warping 을 시켜주어 실제 합성을 시킨다.


이론은 이렇게 쉽게 설명될 수 있고 실제 소스코드를 보면서 다시 설명한다.


위 소스코드에서 나온 것 처럼 기준영상 ' Korea.jpg ' 를 불러온다.
그리고 'korea.mp4' 동영상 파일을 불러와 두 영상을 합성시키는 코드이다.

특징점 알고리즘은 AKAZE 를 사용해서 생성해준다.
속도면에서는 ORB를 사용하면 좋지만 매칭을 못하는 경우가 더 많기때문에 약간은 느리지만 성능측면에서는 AKAZE를 사용하는 것이 좋다.
위 소스코드를 보게되면 매 프레임마다 특징점 검출을 하는데
특징점 검출이 적게되면 에러가 나는 경우가 있기 때문에
특징점이 100개보다 많은 경우에만 매칭을 수행하도록 코드를 구성해놓았다.
위에서 설명했지만 ORB보다는 AKAZE가 특징점을 조금 더 잘 검출하는 결과를 볼 수 있다.
본 포스팅은 패스트캠퍼스 환급 챌린지 참여를 위해 작성되었습니다.
패스트캠퍼스 [직장인 실무교육]
프로그래밍, 영상편집, UX/UI, 마케팅, 데이터 분석, 엑셀강의, The RED, 국비지원, 기업교육, 서비스 제공.
fastcampus.co.kr
'Program > OPEN_CV' 카테고리의 다른 글
| [Open CV] 객체추척과 모션벡터 _ 배경차분 _ 이동평균배경 (0) | 2022.06.27 |
|---|---|
| [Open CV] 객체추척과 모션벡터 _ 배경차분 _ 정적배경차분 (0) | 2022.06.26 |
| [Open CV] 특징점검출과매칭 _ 이미지 스티칭 (0) | 2022.06.24 |
| [Open CV] 특징점 검출과 매칭 _ 호모그래피와 영상매칭 (0) | 2022.06.23 |
| [Open CV] 특징점 검출과 매칭 _ 좋은 매칭 선별 (0) | 2022.06.22 |