스도쿠 광장에서 볼록한 결함을 제거하는 방법은 무엇입니까?

| | | | | | | | | |

저는 재미있는 프로젝트를 하고 있었습니다. OpenCV를 사용하여 입력 이미지에서 스도쿠를 푸는 것입니다(Google 고글 등). 그리고 작업을 완료했지만 마지막에 여기까지 온 작은 문제를 발견했습니다.

OpenCV 2.3.1의 Python API를 사용하여 프로그래밍을 했습니다.

아래 내가 한 것입니다 :

  1. 이미지 읽기
  2. 등고선 찾기
  3. 최대 면적을 가진 것을 선택하고 (또한 정사각형과 다소 동일) .
  4. 모서리 점을 찾습니다.

    예: 아래에 제공됨:

    여기에 이미지 설명 입력

    (녹색 선이 스도쿠의 실제 경계와 정확하게 일치하므로 스도쿠가 올바르게 뒤틀릴 수 있습니다.

    strong>. 다음 이미지 확인)

  5. 이미지를 완전한 정사각형으로 변형

    예: 이미지:

    enter image description here

  6. OCR 수행 간단한 숫자 인식 OpenCV-Python의 OCR )

그리고 이 방법은 잘 작동했습니다.

문제:

이 이미지를 확인하세요.

이 이미지에서 4단계를 수행하면 아래와 같은 결과가 나타납니다.

enter image description here

빨간 선은 스도쿠 경계의 실제 윤곽인 원래 윤곽선입니다.

그린 녹색 선은 대략적인 윤곽선입니다. 뒤틀린 이미지의 윤곽선.

물론 스도쿠 상단 가장자리의 녹색 선과 빨간색 선 사이에는 차이가 있습니다. 그래서 왜곡하는 동안 스도쿠의 원래 경계를 얻지 못합니다.

내 질문:

올바른 경계에서 이미지를 어떻게 왜곡할 수 있습니까? 스도쿠, 즉 레드 라인 또는 레드 라인과 그린 라인의 차이를 어떻게 제거할 수 있습니까? OpenCV에서 이에 대한 방법이 있습니까?