두 번째 이미지의 모양이 약간 다르다는 점에서 두 개의 거의 비슷한 이미지가 있습니다. 대부분의 시간은 더 작지만 더 클 수 있습니다. 또한 하나의 이미지에서 도형 수는 ~ 10에서> 100까지이며 서로 상대적으로 가까워 질 수 있습니다. 그것은이 같은 보일 것이다 (공지 사항 : 두 이미지가없는 투명한 것) :OpenCV에서 이미지 가장자리와 여백을 비교하십시오.
검은 삼각형 이미지 1, 회색 삼각형은 내가 추가 할 이제 이미지 2.
입니다 이미지 1의 가장자리에 대해 미리 정의 된 여백 (여기서는 윤곽선 양쪽에 3px)을 지정하고 두 번째 이미지의 가장자리가 첫 번째 이미지와 동일한 범위에 있는지 테스트합니다. 그렇지 않다면, 그 시각 표시 :
왼쪽 위를 (빨간색 테두리로 시각) 두 이미지 사이의 작은 차이
오른쪽 아래 : "동일한"가장자리 -> 차이를
이걸 어떻게 잘 수행 할 수 있습니까? 나는 경우 C++
은 교차 비교를 통해 빨간색 등고선을 비추거나 각 등고선의 영역을 적용하지 않기로 결정했습니다. 먼저 각각의 외부 및 내부 윤곽을 찾고 영역을 계산 한 다음 비교하고 결정하십시오. FindContours() 및 contourArea()가 필요합니다. – dervish