2012-08-15 1 views
1

하나의 TV 화면 인식 프로젝트, 하나의 이미지에서 TV 화면을 클립해야합니다.이미지의 4면 다각형을 어떻게 감지하여 사각형으로 조정합니까?

TV 화면은 실제로 사각형입니다. 그러나 전화 카메라의 이미지에서 TV 화면의 모양이 틀림 없음은 분명합니다. 내 질문 :

  1. 이미지에서 4면 polygen (사각형이 아님)을 감지하는 방법.
  2. 이미지에서 polygen 영역을 알았 으면 Mat에 영역을 검색하는 방법.
  3. 퀘스트 2를 해결 한 후, 4면 폴리곤의 매트를 W/H 라디오가 고정 된 사각형 매트로 변환하는 방법.

참조 할 샘플 코드를 제공하는 것이 좋습니다.

답장을 보내주세요.

+0

'매트'? '매트'란 무엇을 의미합니까? 매트릭스입니까? – occulus

+1

TV 화면의 가로 세로 비율을 알고 있습니까? 직사각형이 아니라고 말하면 원근 왜곡이있는 직사각형이거나 직사각형이 아님을 의미합니까? TV의 가장자리를 감지하는 방법은 배경에 대해 가정 할 수있는 것에 따라 달라집니다. 이미지에 대해 더 많이 알지 못하면 누구도 도움을 줄 수 없습니다. – Hammer

+0

장면은 내가 집에있는 TV 화면으로 사진을 찍는 것입니다. 실제 TV 화면은 직사각형입니다. 그러나 원근감 왜곡 때문에 사물에서 사다리꼴입니다. 그래서 문제는, 어떻게 4면 polygen을 감지하고 원래의 사각형으로 변환합니다. – tihuBird

답변

2

TV 화면의 가장자리를 감지하려면 국경을 사용하여 (예 : Canny) 탐지를 사용하고 Hough transform을 사용하여 선을 확보하십시오.

그런 다음 줄의 교차점에 해당하는 점을 추출하면 호모 그래피 행렬 H (3x3)를 만들 수 있습니다. 마지막으로,이 호모 그라피를 사용하여 은 원본 이미지를 참조 프레임 (이 경우에는 주어진 종횡비로 의 사각형)에 "변형"시킬 수 있습니다. 동 위상은 평면 에서 평면으로의 변형이므로 여기서 정확히 필요합니다. (! 항상 좋은 선택이다) 당신이 OpenCV의 사용하려고하면

, 여기 당신이 사용할 수있는 기능은 다음과 같습니다

  • 영리한를() - 이미지의 가장자리를 찾을 수

  • 호프 라인() - 라인을 감지

  • findHomography() -이 함수는 일치 집합에서 호모 그래피 행렬을 찾습니다. 당신의 참조 프레임에 에게 이미지를 "변형"을 사용하려고하는 기능 - 귀하의 경우에, 당신은 0

  • warpPerspective()와 같은 방법을 에 합격해야합니다.

분명히, 당신은 ... MATLAB 및 다른 사람을 위해 내가이 당신을 도움이되기를 바랍니다

을 유사한 기능을 찾을 수 있습니다.

+0

감사합니다. Hammer Brad Larson 및 G.Fuhr. G.Fuhr이 세부 단계를 제공 했으므로 매우 도움이됩니다. 나는 문제를 해결하기위한 조치를 취할 것이다. – tihuBird

관련 문제