2013-07-05 2 views
4

이미지에서 큐브를 추출하려고합니다 (사각형처럼 보입니다 ...). 나는 가장자리를 가져 와서 소음을 제거하기 위해 canny와 dilated를 사용했습니다.OpenCV '거의'닫힌 윤곽

강력한 방법으로 스퀘어를 출력 할 수 있는지 확실하지 않습니다.

감사합니다.

image

감사합니다.

+0

[이 질문에 언급 된 논문을 볼 수 있습니다 (http://stackoverflow.com/q/1364976/1601291). 잔인하고 사소한 일은 아닙니다. – Aurelius

+0

초록색 상자없이 원본 이미지의 사본을 게시 할 수 있습니까? 아니면 당신을 포함하여 탐지 * 할려고합니까? – Aurelius

답변

2

지나치게 어렵지 않습니다.

방향별로 모든 가장자리를 정렬하십시오. 한 쌍의 모서리가 90도 회전 된 다른 한 쌍으로 한 방향으로 향하게합니다. 거친 곳을 확인하십시오. 그렇다면 아마 사각형을 형성 할 것입니다. 가장자리 거리를 확인하여 직사각형에서 정사각형을 선택하고 작은 정사각형을 버립니다. 전체 가장자리가 있어야한다고 확신 할 수있을 정도로 가장자리의 큰 부분이 있는지 확인하십시오. 가장자리가 손상 될 수도 있습니다. 2. 이제 4 개의 가장자리가 발견되면 충분히 균일 한 영역을 구분하는지 확인하십시오.

마지막 비트는 약간 까다 롭습니다. 그것은 도메인 지식입니다. 사각형 내부에 다른 물체가있을 수 있으며 사각형의 가장자리에 닿거나 겹칠 수 있습니까?

+0

감사합니다. 내 능력을 약간 뛰어 넘을 수 있습니다. 나는 약 1 주일 동안 OpenCV를 사용 해왔다. 나는 이런 종류의 것을 결코 공부하지 못했다. (나는 전기 공학 학생이다.) 그럼에도 불구하고, 나는 무엇이 완료되어야 하는지를 이해하고, 단지 그것을 구현하는 것이 도전이다! –

0

link에 설명 된대로 색상 정보와 kmeans 클러스터링을 사용할 수 있습니다.

표적 물체의 색이 배경과 다른 한 정사각형 물체의 픽셀을 정확하게 검출 할 수 있습니다.