2012-03-01 3 views
3

내 문제는 마이크로 칩의 두 이미지 사이에 공통점을 찾아야한다는 것입니다. 여기에 두 이미지의 예 : 두 이미지 사이 enter image description here enter image description here , 우리는 분명히 두 번째 이미지에서 상대적으로 동일한 위치에서 찾을 수 있습니다 첫 번째 이미지의 오른쪽 아래에있는 전선과 같은 몇 가지 일반적인 패턴을 볼 수 있습니다. 또한, 첫 번째 이미지에서 흰색 Z 모양의 종류는 두 번째 이미지에서 볼 수 있지만 좀 더 세게 보이지만 거기에 있습니다.아주 다른 두 이미지 사이의 패턴 인식

SURF (OpenCV)와 일치 시키려고했는데 전혀 공통점이 발견되지 않았습니다. 가장자리 감지, thresholding 및 김프에서 찾을 수있는 다른 필터와 같은 두 가지 이미지에 일부 필터를 적용하려했지만 시도한 것은 공통점이 없습니다.

이 문제를 해결할 생각이 있으면 알려주십시오. 내 제안은 두 이미지의 주요 기능을 선분으로 수동으로 매칭하는 것이지만, 자동화가 바람직합니다.

OpenCV를 사용하는 솔루션이 바람직하지만 가능한 모든 제안을 찾고 있습니다. OpenCV에서 내가 본 모든 패턴 매칭 상황은이 방법보다 더 명백한 문제였습니다. 색상 차이는 없습니다.

+0

"우리는 분명히 공통 패턴을 볼 수 있습니다"라고 말합니다. 나는 그 진술에 동의하지 않는다. 일반적인 패턴은 거의 보이지 않습니다. 하단 이미지에서 패턴은 매우 희미하고 얽힌 구조와 나쁜 신호 대 잡음 비율로 인해 감지하기가 거의 불가능합니다. –

+0

+1 멋진 사진. [Signal Processing Stack Exchange] (http://dsp.stackexchange.com/)는 이와 같은 이미지 처리 관련 질문을하는 더 좋은 장소 일 수 있습니다. –

답변

1

최상위 이미지가 항상 품질 (준 이중선 패턴, 쉬운 가장자리 감지) 인 경우 최상위 이미지로 학습하고 아래쪽 이미지를 검색하여 좋은 기하학적 일치 알고리즘 (Cognex 또는 Halcon)을 시도합니다.

아마도 회전을 보상해야 할 가치가있을 것입니다 (스케일링이 없기를 바랍니다). 아마도 Hough 변환을 사용하여 지배적 인 에지 방향을 결정함으로써 그렇게 할 수 있습니다. 또는 센서의 신중한 기계 정렬로 훨씬 더 좋습니다.

어쨌든 성공 가능성은 낮습니다. 이것은 어려운 문제입니다.

+0

불행히도 이미지 간의 품질은 일정하지 않습니다 ... 두 이미지를 두 번째 이미지와 비교해보아야 할 수도 있습니다! – widgg

+0

다시 한번, 두 이미지의 기울어 짐 보정 (가장 강한 가장자리의 방향을 측정하여 수평/수직으로 만들기)을 권장합니다. 이미지가 기울기 조정되면 손으로 다른 이미지를 기울여 이동할 수 있습니다 (매 픽셀마다 평균). 운영자는 결합 된 이미지를 가장 단순하게 만드는 최상의 번역을 쉽게 찾을 수 있습니다. 가장자리 수와 같은 이미지 복잡성의 측정 값을 찾을 수 있으면 최소화해야합니다. –

4

는 실시간이 필요한 경우를 제외하고, 회전을 자동화 할 수 있는지 테스트 할 수있는 간단한 방법을 수행합니다 이미지에있는 것과 같은

회로 보드를 종종 수직 직선 세그먼트를 기반으로합니다. 그러므로 당신은 줄 지어서 커피 얼룩 같은 것을 제거하고 제거 할 수 있습니다.

한쪽에는 어두운 픽셀이 있고 다른 한쪽에는 밝은 픽셀이있는 커널을 만드는 것을 생각해보십시오. 이미지에 접어서 (또는 교차 상관 시켜서) 거의 수직 또는 수평 인 밝은/어두운 픽셀 시퀀스가있는 모든 픽셀을 식별합니다.

당신은 속도를 내기 위해 인터레이스 할 수 있습니다. 각도를 45 * 표시에 가깝게 원하면 얼룩과 얼룩의 가장자리가 생존 할 수 있습니다!

결과 이미지는 스파 스 포인트 클라우드로 해석 될 수 있습니다. 이제 RANSAC 또는 다른 유사한 방법을 사용하여 나머지 상관 관계의 대부분을 선분으로 나타낼 수 있습니다. * 2 점 선분을 RANSAC의 입력 모델로 사용하고, 작 으면 축소합니다. * 많은 인 인리 티를 가진 무한한 라인을 결정하십시오.* 라인을 세분화하기 위해 growth 또는 binninng 접근법을 사용하십시오.

이점 : 이미지에 회로로 실제로 존재하는 선 세그먼트 표현의 확률이 높습니다. 세그먼트의 2 포인트 설명, 가능한 변환이 쉽습니다. openCV에서 오버레이 될 수 있으므로 데이터를 쉽게 해석 할 수 있습니다.

회전은 대부분 발견 된 라인을 수평 및/또는 수직 축과 일치시키는 회전으로 쉽게 발견되어야합니다.

  • 회전 적용

두 이미지 모두에 대해 반복하십시오.

이제 간단한 x, y 교차 상관 관계로 이미지 간의 최상의 변환을 결정할 수 있습니다.