2012-07-15 5 views
6

여러 카메라에서 이미지를 스티칭하는 프로젝트를 실행 해 왔지만 병목 현상이 발생했다고 생각합니다.이 문제와 관련하여 몇 가지 질문이 있습니다.여러 카메라 이미지 스티칭

미래의 차량에 장착하려고합니다. 카메라의 상대적인 위치와 방향이 고정되어 있음을 의미합니다.

또한 다중 카메라를 사용하고 HOMOGRAPHY를 사용하여 이미지를 스티치하려고 할 때 가능한 한 가깝게 카메라를 배치하여 오류가 발생하지 않도록합니다 (카메라의 초점이 카메라가 일정한 공간을 차지함에 따라 동일한 위치와 불가능 함)을 줄일 수 있습니다.

여기 내 짧은 실험 비디오가 있습니다. 카메라에 의해 촬영 된 장면이 정적 비록이 같이 http://www.youtube.com/watch?v=JEQJZQq3RTY

바느질 결과 은 매우 끔찍 ... 은 호모 그래피는 여전히 변화 유지합니다.

다음 링크는 지금까지 수행 한 코드이며 code1.png 및 code2.png는 Stitching_refind.cpp의 코드 일부를 보여주는 그림입니다. 2 단계, 3, 4 번만 (위에서 언급 한 두 PNG 사진을 확인하시기 바랍니다)를 할로

https://docs.google.com/folder/d/0B2r9FmkcbNwAbHdtVEVkSW1SQW8/edit?pli=1

나는 그런 며칠 전에 코드에서 일부 내용을 변경했습니다.


가 요약하면, 내 질문은 :

1.이 기능을 계산하기 전에 지역을 중복 찾을 수 있습니까? 더 많은 계산 시간과 불일치가 발생하므로 전체 이미지의 기능을 계산하고 싶지 않습니다. 두 개의 인접한 이미지가 겹치는 영역에서 컴퓨터 기능 만 사용할 수 있는지 궁금합니다.

2. 얻은 호모 그래피를보다 정확하게 만들려면 어떻게해야합니까? 어떤 사람들은 CAMERA CALIBRATION에 대해 말하고 다른 일치하는 방법을 시도합니다. 저는 컴퓨터 비전에 대해 아직 익숙하지 않습니다 ... 카메라 보정에 관한 자료를 공부하려고했지만 아직 무엇인지 모르겠습니다. Having some difficulty in image stitching using OpenCV

, 크리스 말했다 회답 일 :

약 2 개월 전 내가 여기에 비슷한 질문을

그것은 당신이 현명하게 이것에 대해 가고있다처럼 들리 겠지만, 당신이있는 경우 두 카메라 모두에 액세스 할 수 있으며 서로 으로 고정 된 상태로 유지 한 다음 오프라인으로 보정하고 온라인으로 변환을 적용하면 응용 프로그램이보다 효율적으로 작동합니다.

"오프라인 보정"이란 무엇을 의미합니까? 무엇이 도움이됩니까?

어떤 조언과 도움을 주셔서 감사합니다.

+0

늦어서 답장을 드려 죄송합니다. 몇 주간 떨어져있었습니다. 두 가지 카메라를 이렇게 정렬하는 과정을 실제로 겪어 보지 못했지만, 나는 단지 일반적인 원리를 알고 있습니다. 그러나 찾고자하는 기능은 [stereoCalibrate] (http://opencv.itseez.com/modules/calib3d/doc/camera_calibration_and_3d_reconstruction.html#stereocalibrate)이며 google에 대한 검색 용어는 스테레오 교정으로 제공됩니다. – Chris

답변

5

는 크리스 서면으로 :

However, your points are not restricted to a specific plane as they are 
imaging a 3D scene. If you wanted to calibrate offline, you could image 
a chessboard with both cameras, and the detected corners could be used 
in this function. 

보정 오프라인 당신이 감지 일부 callibration 패턴이 쉽게 사용할 수 있다는 것을 의미한다. 그런 다음 변환 행렬을 계산하십시오. 이 보정을 수행 한 후에는 (이전에 계산 된) 매트릭스를 획득 된 이미지에 적용하면 효과가 있습니다.

+0

실례 합니다만, 아직 이해가 안됩니다 ... 1. 캘리브레이션은 Homography를 계산하는 것과 관련이 있습니까? 2. "오프라인 보정은 쉽게 감지 할 수있는 약간의 패턴을 사용한다는 것을 의미합니다. 그런 다음 변환 매트릭스를 계산합니다.이 보정 후에는 (이전에 계산 된) 매트릭스를 획득 된 이미지에 적용합니다." OpenCV에 카메라 교정 코드가 있다는 것을 알고 있습니다. http://opencv.itseez.com/doc/tutorials/calib3d/camera_calibration/camera_calibration.html 그런 교정 코드를 한 번 실행 한 다음 내 스티칭 코드를 실행해야합니까? –

+0

링크에서 카메라 매개 변수를 저장하는 것에 대해 추가했습니다. 체스 판 패턴을 한 번 계산 한 다음 획득에 사용합니다. 호모 그래피 (homography)에 대한 참고 자료 : http://www.ics.uci.edu/~majumder/vispercep/cameracalib.pdf http://www.epixea.com/research/multi-view-coding-thesisse9.html http : //people.scs.carleton.ca/~c_shu/Courses/comp4900d/notes/homography.pdf – krzych

+0

교정을 위해 체스 보드를 준비해야한다는 의미입니까? 내 LAB 메이트의 PC에서 "스테레오 보정"에 사용되는 일련의 체스 판 그림이 있습니다. Google 드라이브에 바로 업로드했습니다. https://docs.google.com/folder/d/0B2r9FmkcbNwAbHdtVEVkSW1SQW8/edit –