2012-04-30 3 views
8

일부 모서리와 모서리 감지를 수행 한 후 등고선을 찾은 후이 출력이 있습니다. 내가 이미지를 자르 및 OpenCV의를 사용하는 경우에만이 사각형을 반환 할 수있는 방법을Contour에서 Extract Rectangle OpenCV

편집 :

내가 cvBoundingRect을 시도하고 setimageROI하지만 출력 이미지가 여전히 몇 가지 배경을 가지고하지만 난 사각형 만

에게 원하는

고맙습니다.

Image Link

+0

나는 cvBoundingRect를 시도한 다음 setimageROI를 실행했지만 출력 이미지는 여전히 배경이 있지만 사각형 만 필요합니다. –

+1

사각형 영역을 원하고 그 안에 무엇이 들어 있습니까? – karlphillip

+0

@karlphillip 바로 :) 고마워요 –

답변

6

내가 당신이 선택한 사각형 영역을 필요 바랍니다.

이 경우 다른 회색 음영 이미지를 만들어야하며 '마스크'라고합니다. 그런 다음 직사각형 윤곽을 그려서 흰색으로 채 웁니다 (255,255,255). 지금은 단지 이미지를 모두에 bitwise_and 수술을

enter image description here

:이 같은 이미지 (모든 이미지의 페인트 프로그램에서 손으로 편집)을 얻을 것이다. 당신은 받기로 발생합니다 :

enter image description here

** NB : ** 지금은 당신이 원하는 아닌 경우, 대신에 당신이, 당신은 칼 필립에 this SOF question (감사에 대한 정보를 찾을 수 있습니다 this kind of selection를 원했다 링크).

+0

+1 재미있는 접근 방법, 좋은 참고 자료 : 나는 그 글을 좋아합니다. – karlphillip

+1

나는 [cv :: Point'의 벡터에서 이미지를 왜곡하는 법을 보여주기 때문에]이 포스트를 제안합니다. (http://stackoverflow.com/questions/7838487/executing-cvwarpperspective-for-a-fake-deskewing -c-set-of-cvpoint). – karlphillip

+1

와우. 그것은 내가 찾던 링크였습니다. 고맙습니다!! (karl의 링크로 답을 편집했습니다.) –

1

무스타파가 자동으로 상자를 가져오고 싶습니다. 그렇지 않다면, Abid의 대답을 받아 들여 이것을 무시하십시오.

그렇지 않으면 : 나는 그것을 일반화하는 방법까지 알고하지 않기 때문에

이 특정 이미지, 당신에게 직선을주는, Hough 변환 할. 그러나 하단의 라인은 오 탐지 될 수 있습니다. 그러나 일부 후 처리 (예 : 흐림, 팽창, 당신은 그것을 제거 할 수있을 것입니다. 또는 직선이 직사각형을 형성한다는 지식을 사용할 수도 있습니다.