Skip to content

주어진 영상을 카메라캘리브레이션해서 카메라 매트릭스등의 값을 찾아내고, 그 값들을 이용해 왜곡을 펴보자.

Notifications You must be signed in to change notification settings

hje1072/python_camera_calibration

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

20 Commits
 
 
 
 
 
 

Repository files navigation

python_camera_calibration

주어진 영상을 카메라캘리브레이션해서 카메라 매트릭스등의 값을 찾아내고, 그 값들을 이용해 왜곡을 펴보자.

카메라캘리브레이션.

opnecv의 기능들을 이용해 카메라의 정보들을 얻어내는 카메라캘리브레이션을 해볼 것이다.
이후, 카메라캘리브레이션을 통한 정보가 적절히 얻어졌는지를 확인하기위해 영상을 다시한번 실행시켜 왜곡값 보정이 잘 이뤄 지는지를 확인해볼 것이다.

기능구현

정확한 코드구현의 정보는 코드내부에 주석을 참고하면 된다.
이곳에서는 변환된 영상의 예시들을 간단히 보여주고자 한다.

참고로 프로그램 종료는 esc를 누르면 종료된다.



카메라 캘리브레이션

영상을 정보를 얻어낸 다음, 카메라캘리브레이션을 위한 이미지 파일을 건져낼 필요가 있다. 스페이스바를 통해 일시정지후, 엔터키를 누르는 것을 통해 이미지파일을 저장해놓을 수 있다. 이후, 프로그램이 진행됨에 따라 저장해놓은 이미지파일들을 이용해 카메라 캘리브레이션을 한다.
주어진 영상을 카메라 캘리브레이션을 한 결과와 진행과정을 영상으로 녹화하였다.

c6a523ba-4dc0-4822-bde6-e3e4fe0ca5f2.mp4

카메라캘리브레이션 결과



이를 통해 알아낸 정보는 다음과 같다. fx = 432.80484625, fy = 431.81319646, s = 0, cx = 477.50546816, cy =290.20047424
Distortion coefficient p1 =-5.11703994e-04, p2 = 1.63156251e-04 p1,p2의 값이 굉장히 0에 가까운 값을 보이기 때문에 이는 카메라캘리브레이션이 잘 되었음을 빙증해준다.



캘리브레이션으로 얻은 값을 이용한 distortion_correction

k-matrix값과 distortion coefficient값을 이용해 왜곡을 펴주는 과정을 진행할 것이다. 이때, 왜곡이 잘 펴졌는지를 확인하기 위해 탭키를 눌러 오리지널영상과 왜곡을 핀영상을 번갈아가면서 촬영했다.

60b87335-a37b-4054-8dae-ceab5f22c059.mp4
  • 보정전
    보정전과 후의 차이를 이미지로 남기면 다음과같다.
    보정전

  • 보정후
    보정후

About

주어진 영상을 카메라캘리브레이션해서 카메라 매트릭스등의 값을 찾아내고, 그 값들을 이용해 왜곡을 펴보자.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages