2

다음 이미지를 참고하여 누군가가 모든 전구 (b1, b2, b3, b4, b5)를 추출하여 별도의 이미지 (b1.jpg, b2)로 가져 오는 방법을 안내해 줄 수 있습니까? jpg, b3.jpg, b4.jpg, b5.jpg).OpenCV를 사용하여 관심있는 영역

enter image description here

나는 템플릿을 사용할 수 있지만 문제는 전구는 다양한 볼 수있는 다양한있다의 크기와 모양입니다. (그러나 전구의 모든 모양은 여전히 ​​동일합니다).

openCV를 사용하여 어떻게해야합니까?

감사와 관련,

Heshsham 잘

+0

제목이 약간 잘못되었습니다. – karlphillip

+0

제목에 따라 무엇이 나에게 말해 줄 수 있습니까? 다음 번에 내 질문을 게시하기 전에이를 명심하십시오. – gpuguy

+0

오브젝트 추출, 템플릿 매칭, 이미지 세분화 등이 현재 제목보다 적합합니다. – karlphillip

답변

0
  • 당신이 템플릿을 사용하는 경우, 왜 다른 템플릿? 한 무리의 템플릿을 유지하고 이미지와 대조하십시오. 어느 것이 든 당신에게 가장 적합한 것이 당신의 후보입니다.
  • 이 문제를 올바르게 해결 한 두 번째 방법은 SURF 기능을 사용하는 것입니다. 서핑은 스큐, 원근감, 회전 변경에 견고하기 때문에 반드시 전구를 알아내는 데 도움이됩니다.
  • Here은 SURF를 사용하여 과시하는 링크입니다. 간단하고 우아한.
+0

템플릿을 사용하는 경우 각 전구에 대해 5 개의 템플릿과 일치해야합니까? 실제로 실제 경우에는 약 100 개의 전구를 갖게 될 것이므로 템플릿 매칭이 매우 느릴 것이라고 생각하지 않습니까? SURF가 훨씬 더 나은 해결책이라고 생각하십니까? – gpuguy

+0

예, 템플릿 일치가 확실히 느립니다. SURF가 훨씬 더 빠를 것입니다. –

0

예를 들어 배경이 항상 흰색 인 경우 임계 값 기반 세분화를 수행하고 결과 영역을 크기별로 필터링하여 검은 아티팩트를 제거 할 수 있습니다.

+0

예 다행히 배경은 주로 잡음이 없습니다. 그러나 thresholding을 수행하면 전구의 아래 부분도 검은 색으로 소음과 함께 손실됩니다. – gpuguy

0

+1 게오르그의 경우이 경우 매우 간단한 필터로 충분합니다.

데이터가 표시하는 것보다 더 복잡한 경우 정확한 결과를 얻으려면 각 전구에 대해 알아야 할 정보에 대해 생각해보십시오.

나는 윤곽선과 노란색 바닥 부분을 말할 것입니다.

두 가지 정보를 사용하여 모든 크롬 요소를 식별하고 그 위에있는 전구를 검색하기 시작합니다. 지역이 성장하는 것은 올바른 해결책 일 수 있지만 오래 걸릴 수 있습니다.

+0

감사합니다. 노이즈는 이미지 배경이 대부분 흰색입니다. 그러나 필터를 사용하면 전구의 검은 부분이 삭제됩니다. 따라서 서로 다른 이미지 파일에 저장하려는 새로운 이미지는 덜 정확합니다. 또한 실제 경우에 나는 약 100 개의 전구를 가질 것이다. 다행히도 모든 전구는 수직이거나 +/- 10 도의 각을 갖습니다. 그래서 그 노란색 부분을 찾는 당신의 아이디어는 좋은 것처럼 보입니다. – gpuguy

+0

그건 분명히 내가 겪고있는 일입니다. 컴퓨터 비전 작업을 할 때는 항상 자신이 원하는 것을 집중해야합니다.귀하의 경우 크롬 부분입니다 – jlengrand