2012-11-07 4 views
2

누군가가 "유일한"OpenCV와 함께이 하나와 같은 pizzamarker를 찾으려고 했습니까? PizzaMarker를 감지하는 방법

PizzaMarker01

나는이 하나를 발견하려고 노력했지만 지금까지 좋은 결과를 가져올 수 없습니다. 이 마커가 어디에 있는지 알지 못합니다. (ROI가 가능하지 않습니다.) 마커는 룸 어딘가에있을 것입니다. (다른 ligthning 효과) 우리를 향해 직각을 향하지 않습니다. 내가 원하는 것은 - 모서리와 나중에이 마커의 방향은 모서리로 추출되었지만 처음에는 5 코커 만이 추출되었습니다. (위, 아래, 왼쪽, 오른쪽, 중앙)

나는 임계 값, 잡음 제거, 윤곽선 찾기를 시도했지만 실제로 좋은 결과를 얻지 못했습니다. 체스 판이나 정사각형 마커는 (평행 한) 선으로 인해 정상적으로 발견됩니다. 여기가 저를 도울 수없는 것 같습니다 ...

그 표식을 찾는 가장 쉬운 방법은 무엇입니까? 어떻게 시작 하시겠습니까? HSV와 같은 다른 색상 형식을 사용 하시겠습니까?

단계별 아이디어 또는 자습서가 도움이 될 것입니다. 왜냐하면 내가 그물에서 헛소리를 못 찾았 거든. 어쩌면이 표식은 피자 마커 (pizzamarker)라고 부르지 않을 것입니다 -> 누군가 진짜 이름을 알고 있습니까? 도움

+0

방에 마커의 이미지가 있습니까? OpenCV 솔루션에 대한 질문은 분명하지만 더 일반적인 알고리즘에 만족한다면 dsp.stackexchange.com에서 좋은 반응을 얻을 수 있습니다. – Chris

답변

2

처음에 도움을 주셔서 감사합니다. 몇 가지 방법이 유용 할 것 같습니다. 다소 시간이 많이 걸립니다. 템플릿 매칭이 가장 쉽지만 같은 표시가 아닙니다. 작은 부분 만 사용했습니다 ...이 새로운 마커 (4 시간 부정적인 하나의 긍정적 인)

enter image description here

이 찾을 수있는 5 번 :

enter image description here

은 지금은 단지 4 가장 네거티브 포인트 및 가장 긍정적를 사용 그리고 내가 최종적으로 원했던 나의 5 점을 얻었다. 더 확실하게하기 위해 서로 가깝고 cornerSubPix()를 수행하는지 확인합니다.

1

당신은 훈련과 VJ를 사용하여 마커를 감지하는 cvHaarDetectObjects을 사용할 수 있습니다에 대한

들으.
아마 가장 빠른 방법은 아니지만 작동해야합니다. 당신은 여기에서 OpenCV를 사용하여 객체 검출 방법에 대한 자세한 정보를 찾을 수 있습니다

+0

예이 계단식 템플릿 일치는 가능하지만 매우 정황적 인 것처럼 보입니다. 하지만 고마워요. 내가 더 좋은 것을 찾지 못한다면, 나는 그것을 시도 할 것입니다. – user1651460

+0

나는 오늘 이것을 시도 할 것이다 - 바이너리 이미지 (임계 값 포함) 이미지를 찾는 것이 가장 좋은 방법이다. 가장 좋은 시합은 내 로이의 중심을 제공 할 것이고 나는 가장자리 감지를 시도 할 것이다. – user1651460

1

당신은 내가 에지 검출 경로를 가서 these guys did 같은 라인을 교차 찾는 것 실시간으로 작동 할 수있는 무언가가 필요하면 http://opencv.willowgarage.com/documentation/object_detection.html. 조명 변화에 빠르고 강하게 보인다.

openCV의 Hough Line Transform을 읽어보십시오.

부록 :

검은 색과 흰색은 가장 강한 가장자리입니다. 그래디언트 이미지를 만들고 장면에서 가장 강한 가장자리를 사용하면 (히스토그램 또는 기타를 통해) 검정/흰색 가장자리 만 탐지하도록 제한 할 수 있습니다. 교차로를 찾으십시오. 이렇게하면 Hough 타원 탐지 (또는 대체)를 적용 할 수있는 소수의 중심점이 제공됩니다. 원하는 경우 추가 체크로 템플릿에서 회전 할 수 있습니다.

BTW .. OpenCV는 Edge Detection, Hough Transform 및 FitEllipse를 가지고 있습니다.

+0

안녕하세요 -이 답변에 감사드립니다. 링크가 completly 도움이되지 않지만 매우 도움이 될 것 같아서 자세히 읽습니다. Hough Line Transform이 가능할 수도 있지만 다른 객체가 주변 객체를 유발할 수 있습니다. 그러나 나는 이것을 더 가깝게 볼 것이다. 어쨌든 빠른 답변을 주셔서 감사합니다. 더 이상 아이디어가 있다면 - 나는 정말로 감사한다. – user1651460

+0

답변을 확장했습니다. – Totero

1

실제로이 '피자'패턴은 Viola–Jones object detection framework에 사용 된 haar의 구성 요소 중 하나입니다.

그래서 내가하는 것은 합계 영역 테이블 또는 통합 이미지를 cv::integral(img)을 사용하여 계산 한 다음이 패턴을 다양한 크기 (크기에 따라 다름)로 철저히 검색하는 것입니다. 각 창의 9 포인트 (상단 왼쪽, 상단 중앙, ..., 하단 왼쪽) 만 사용하고 있습니다.

+0

게시 해 주셔서 감사합니다.하지만이 문제를 해결하지 못했습니다. 왜냐하면 저는이 프레임 워크의 배경에있는 수학을 이해하지 못했고 5 분 동안 완전하게 노력했기 때문에 어떻게 사용할 수 있는지 알 수 없었습니다. 나는 그것을 지금 풀었다. 귀하의 게시물에 많은 감사드립니다. – user1651460