August 2, 2019 - No Comments!

opencv undistort 예제

따라서 (x,y)) 좌표에서 왜곡되지 않은 픽셀 점의 경우 왜곡된 이미지의 위치는 (x_{왜곡} y_{왜곡})입니다.). 방사형 왜곡의 존재는 "배럴"또는 "물고기 눈"효과의 형태로 나타납니다. 이제 파이썬 undistort.py file_to_undistort.jpg를 실행하고 그게 다야. 자세히 살펴보면 원본 이미지의 중요한 청크가 잘려나가는 문제가 발생할 수 있습니다. 예를 들어, 이미지 의 왼쪽에 있는 주황색 RC 카에는 왜곡되지 않은 이미지에 바퀴가 반 개만 유지됩니다. 사실 원본 이미지의 픽셀 의 약 30 %가 손실됩니다. 아야! 이 후 우리는 다음과 같은 작업을 수행하는 큰 루프가 있습니다 : 이미지 목록, 카메라 또는 비디오 파일에서 다음 이미지를 가져옵니다. 이 작업이 실패하거나 이미지가 충분한 경우 교정 프로세스를 실행합니다. 이미지의 경우 우리는 루프에서 단계및 그렇지 않으면 나머지 프레임은 (옵션이 설정된 경우) CALIBRATED 하나에 감지 모드에서 변경을 통해 왜곡되지 않습니다. 안녕하세요, 이 라이브 비디오와 함께 작동 할 수 있는지 물어 볼 수 있습니까? 예를 들어, 고정 촬영을 위해 gopro / 액션 카메라를 사용하고 휴대 전화처럼 거리 내에 살고 있는 경우 왜곡된 것처럼 보이고 싶지 않습니다.

그것은 작동 할 수 있습니까? 나는 낮은 품질의 웹캠에서이 프로그램을 실행. 저는 핸드메이드 체스판 패턴을 사용했고 20개의 체스판 위치를 사용하여 교정했습니다. 여기에 내가 한 왜곡되지 않습니다 : 당신이 이미지 목록으로 작업 할 때 루프 내부의 왜곡을 제거 할 수 없습니다. 따라서 루프 후에이 작업을 수행해야합니다. 이 점을 활용하면 cv::왜곡 되지 않는 함수를 확장 합니다.: 실제로 호출 하는 cv::initUndistortRectifyMap 변환 행렬을 찾은 다음 cv::remap 함수를 사용 하 여 변환을 수행 합니다. 성공적인 교정 맵 계산 후에는 한 번만 수행해야 하기 때문에 이 확장된 양식을 사용하면 응용 프로그램의 속도를 높일 수 있습니다. 먼저 왜곡된 이미지에서 왜곡되지 않은 이미지로 매핑 기능을 찾습니다. 그런 다음 다시 매핑 함수를 사용합니다.

친애하는 크리스, 귀하의 응답에 감사드립니다. 나는 보드에서 다른 설정과 거리를 시도했다. 나는 내가 사용하고 있는 opencv의 버전을 모른다. 그러나 A3 인쇄 된 바둑판을 시도했지만 지금은 작동하는 것처럼 보입니다. 파일에 너무 많은 픽셀이있어 색이 감지 된 모서리를 볼 수도 없습니다. 또한 이미지를 왜곡 해제하려고 하면 정말 심하게 왜곡된 이미지(원본 이미지보다 훨씬 더 나빠서)를 얻습니다. 4000x3000 해상도가 문제입니까? 방사형 왜곡으로 인해 직선이 곡선으로 나타납니다. 그 효과는 우리가 이미지의 중심에서 멀리 이동으로 더 많은 것입니다.

예를 들어, 체스 보드의 두 가장자리가 빨간색 선으로 표시된 한 이미지가 아래에 표시됩니다. 그러나 테두리가 직선이 아니며 빨간색 선과 일치하지 않는 것을 볼 수 있습니다. 예상되는 모든 직선이 부풀어 오릅니다. 자세한 내용은 왜곡(광학)을 방문하십시오. 또한 OpenCV 소스 라이브러리의 샘플/cpp/tutorial_code/calib3d/camera_보정/폴더에서 소스 코드를 찾거나 여기에서 다운로드할 수 있습니다. 프로그램에는 구성 파일의 이름이라는 단일 인수가 있습니다. 아무 것도 주어지지 않으면 "default.xml"이라는 이름을 열려고 시도합니다. 다음은 XML 형식의 샘플 구성 파일입니다. 구성 파일에서 카메라를 입력, 비디오 파일 또는 이미지 목록으로 사용하도록 선택할 수 있습니다.

마지막 파일을 선택하는 경우 사용할 이미지를 여개하는 구성 파일을 만들어야 합니다. 여기에 이것의 예가 있습니다. 기억해야 할 중요한 부분은 이미지가 절대 경로 또는 응용 프로그램의 작업 디렉터리에서 상대적인 경로를 사용하여 지정해야 한다는 것입니다. 위에서 언급 한 샘플 디렉토리에서이 모든 것을 찾을 수 있습니다. 보정을 실행하고 왜곡 계수로 카메라의 매트릭스를 얻었다면 cv::왜곡 되지 않는 함수를 사용하여 이미지를 수정할 수 있습니다: 이 함수는 모든 이미지에서 필요한 패턴을 찾지 못할 수 있습니다.

Published by: gianni57

Comments are closed.