저는 재미있는 프로젝트를 하고 있었습니다. OpenCV를 사용하여 입력 이미지에서 스도쿠를 푸는 것입니다(Google 고글 등). 그리고 작업을 완료했지만 마지막에 여기까지 온 작은 문제를 발견했습니다.
OpenCV 2.3.1의 Python API를 사용하여 프로그래밍을 했습니다.
아래 내가 한 것입니다 :
- 이미지 읽기
- 등고선 찾기
- 최대 면적을 가진 것을 선택하고 (또한 정사각형과 다소 동일) .
모서리 점을 찾습니다.
예: 아래에 제공됨:
(녹색 선이 스도쿠의 실제 경계와 정확하게 일치하므로 스도쿠가 올바르게 뒤틀릴 수 있습니다.
strong>. 다음 이미지 확인)이미지를 완전한 정사각형으로 변형
예: 이미지:
OCR 수행 간단한 숫자 인식 OpenCV-Python의 OCR )
그리고 이 방법은 잘 작동했습니다.
문제:
이 이미지에서 4단계를 수행하면 아래와 같은 결과가 나타납니다.
빨간 선은 스도쿠 경계의 실제 윤곽인 원래 윤곽선입니다.
그린 녹색 선은 대략적인 윤곽선입니다. 뒤틀린 이미지의 윤곽선.
물론 스도쿠 상단 가장자리의 녹색 선과 빨간색 선 사이에는 차이가 있습니다. 그래서 왜곡하는 동안 스도쿠의 원래 경계를 얻지 못합니다.
내 질문:
올바른 경계에서 이미지를 어떻게 왜곡할 수 있습니까? 스도쿠, 즉 레드 라인 또는 레드 라인과 그린 라인의 차이를 어떻게 제거할 수 있습니까? OpenCV에서 이에 대한 방법이 있습니까?