2016-07-02 7 views
0

저는 python을 사용하여 opencv의 초보자입니다. 나는 많은 16 비트 그레이 스케일 이미지를 가지고 있으며, 서로 다른 이미지에서 매번 같은 물체를 감지 할 필요가있다. opencv python에서 템플릿 일치를 시도했지만 바람직하지 않을 수있는 다른 이미지에 대해 다른 템플릿을 사용해야했습니다. 어느 누구든지 파이썬에서 알고리즘을 효율적으로 사용하도록 제안 할 수 있습니까?opencv-python 객체 탐지 ​​

+1

다음을 참조하십시오. [너무 구체적이지 않은 질문에 특별히 적합한 덜 제한적인 스택 Exchange 사이트가 있습니까?] (http://meta.stackoverflow.com/questions/252777/is-there- a-less-restrictive-stack-exchange-site-special-for-not-too-spe) – nlloyd

+0

아직도 답을 찾으십니까? – user1269942

+0

** 가우시안 피라미드 ** –

답변

0

귀하의 질문이 너무 일반적입니다. 기능 일치는 매우 방대한 분야입니다. 완전히 사용되는 알고리즘 유형은 탐지하려는 객체, 환경 등에 따라 다릅니다.

개체의 이미지에서 크기 나 각도가 변경되지 않으면 템플릿 매칭을 사용하십시오.

이미지의 크기와 방향이 변경되면 SIFT 또는 SURF를 사용할 수 있습니다.

개체에 배경과 다른 고유 한 색 기능이있는 경우 hsv 메서드를 사용할 수 있습니다.

이미지 그룹을 객체로 분류해야하는 경우, 예를 들어 모든 크리켓 박쥐가 감지되어야합니다. 그런 다음 컴퓨터에 객체 모양과 네거티브 이미지를 알리는 긍정적 인 이미지를 훈련시킬 수 있습니다. 그것은하지 않습니다, 그것은 haar 훈련을 사용하여 수행 할 수 있습니다.

0

u는 슬라이딩 윈도우 방법을 시도 할 수 있습니다. 모든 샘플에서 객체가 동일한 경우

0

알려진 색, 모양 및 크기를 찾는 한 가지 방법이 있습니다.

당신은 당신의 이미지에 HSV 임계 값을 수행하여 시작할 수

, HSV 색 공간에 이미지를 변환 한 후

cv2.inRange(source, (minHue, minSat, minVal), (maxHue, maxSat, maxVal)) 

다음을 호출하여, 당신은 만족하는 이미지의 모든 영역을 찾기 위해 cv2.findContours를 사용할 수있는 사용자 색상 요구 사항. 그런 다음 boundingRectcontourArea과 같은 메서드를 사용하여 원하는 개체의 특정 특성을 찾을 수 있습니다.

결국 무엇을할지는 프레임을 취할 수있는 '파이프 라인'이며 설정 한 기준에 맞는 모양을 찾습니다. 당신이하고 싶은 것의 복잡성 (당신이 찾고있는 것을 말하지 않았다)에 따라, 이것은 효과가있을 수도 있고 효과가 없을 수도 있지만, 나는 그것을 합리적인 성공으로 사용했습니다.

GRIP는 시각적 인 방식으로 임계 값을 적용 할 수있는 응용 프로그램이며 원하는 경우 Python 코드를 생성합니다. 내가 실제로 생성 된 코드를 사용하는 것을 권장하지는 않는다. 왜냐하면 내가 그런 식으로 몇 가지 문제를 겪었 기 때문이다. 다음은 GRIP에 대한 링크입니다. https://github.com/WPIRoboticsProjects/GRIP