2011-03-11 7 views
3

이미지와 템플릿이 있습니다. 템플릿이 이미지에 존재하는지, 이미지의 인스턴스가 어디에 있는지를 알아 내려고합니다. 이러한 이미지처럼 뭔가 : http://www-cgrl.cs.mcgill.ca/~godfried/teaching/cg-projects/98/normand/sc1-match.gif이미지에서 템플릿 찾기

이러한 이미지는이 페이지에서 제공 : 이것은 결과 일 것이다

http://www-cgrl.cs.mcgill.ca/~godfried/teaching/cg-projects/98/normand/ex1-model-bit.gif http://www-cgrl.cs.mcgill.ca/~godfried/teaching/cg-projects/98/normand/ex1-image-bit.gif

이 Rucklidge의 알고리즘에 대한 참조이지만, 내가 찾은 http://www-cgrl.cs.mcgill.ca/~godfried/teaching/cg-projects/98/normand/main.html 해당 알고리즘에 대한 정보가 없습니다.

회전이 15도 이상이거나 크기 조정이 20 % 이상 (크거나 작음) 필요하지 않습니다. 이 작업을 수행하는 가장 좋은 방법은 무엇입니까?

* 편집 : * 이미지의 가장자리를 구성하는 검정색 픽셀 목록과 템플릿을 구성하는 픽셀 목록이 있습니다. 템플릿 이미지의 픽셀 목록에서 이미지를 구성하는 픽셀에 최대한 가깝도록 (x, y) 최적의 오프셋을 찾는 간단한 방법을 찾고 있습니다. 약간의 허용 오차는 스케일링의 몇 퍼센트 또는 회전의 약간의 정도를 허용하는 것이 좋지만 급진적 인 것은 없습니다.

답변

2

당신이 인용 한 페이지에서 링크를 쫓아내는 비트는 http://www.cs.cornell.edu/vision/hausdorff/hausmatch.html으로 이어집니다. 다른 것들 중에서도 당신과 같은 문제를 보이는 코드가 있습니다.

"Hausdorff 거리를 사용하여 효율적으로 물체를 찾는"(International Journal of Computer Vision, 24 권 3 호, 1997 년 9 월/3 호) 및 "효율적인 시각 인식 Hausdorff 거리를 사용하여 ", Springer LNCS no 1173). 나는 당신이 Google을 통해 얻을 수있는 책의 발췌문 외의 다른 것을 읽지 않았습니다. Rucklidge가 검색 공간을 정리하는 효과적인 방법을 가지고있어 검색 대상의 좋은 사본을 포함 할 수 없다는 것을 증명함으로써 넓은 지역 (위치, 변형)을 배제하는 것처럼 들립니다.

당신의 질문은 생각합니다. "이걸하는 가장 좋은 방법은 뭔가?" - 스택 오버플로 (Stack Overflow) 대답보다는 상당한 연구 프로그램을 요구합니다. 지금까지 내가 아는 한 (나는 현장에서 전문가가 아니다) 이것은 여전히 ​​적극적이고 도전적인 연구 분야이다.

+0

가장 낮은 감사와 이미지 영역을 찾습니다. Canny 필터를 적용하여 (가장자리의 이미지를 얻는) 간단한 방법을 원합니다. 그러면 첫 번째 이미지를 이동할 위치를 계산하는 방법을 볼 수 있습니다. 작은 회전 및 크기 조정, 많이는 아니므로) 템플릿이 (대략적으로) 정렬됩니다. – Dmi

0

여기에 키워드는 Hausdorff distance입니다. 원래의 링크에는 Hausdorff 측정 항목에 대한 설명이 있습니다. 따라서 알고리즘은 매우 간단합니다.

  1. 이미지와 템플릿을 바이너리 모드로 변환하십시오.
  2. Hausdorff_distance(region, your_template)
+1

하지만 문제는 지금 어떻게 그 지역을 찾습니까? 무작위 강제로 MxN 크기의 모든 영역을 테스트합니다. 여기서 MxN은 템플릿의 크기입니까? – Dmi

+0

@Dmi, 지역을 슬라이딩 윈도우로 할 수도 있습니다. – Arturo