OpenCV와 Python을 사용하여 이미지의 타겟 패턴을 찾을 수있는 소프트웨어를 개발하고 있습니다. 저는 현재 원하는 타겟을 찾는 중입니다.이 중 일부는 타겟의 색상을 분리하기 위해 HSV thresholding 작업을 실행하고 있습니다. HSV의 임계 코드는 다음과 같습니다성공하면 OpenCV의 HSV 임계 값은 어떻게 되나요?
out = cv2.cvtColor(input, cv2.COLOR_RGB2HSV)
return cv2.inRange(out, (hue[0], sat[0], val[0]), (hue[1], sat[1], val[1]))
hue[]
, sat[]
및 val[]
이 코드에 정의되고 실험적으로 내가 찾고있어 HSV 범위의 값을 검사가 포함 된 배열. 이 메서드를 실행 한 후 출력을 인쇄하기 위해 print 문을 추가했습니다.
[[0 0 0 ..., 0 0 0]
[0 0 0 ..., 0 0 0]
[0 0 0 ..., 0 0 0]]
내가 다른 색상을 많이 포함 풍선의 다른 주식 이미지를 사용했는데,이 같은 일을 반환 : 내 카메라 프레임에이 방법을 실행하면,이 반환합니다. 올바르게 작동하는 경우 HSV 메소드가 반환해야하는 문서를 찾기가 어려워서 이것을 디버깅하는 방법을 정확히 알지 못합니다.
사람들이 제대로 작동하고 있거나 예제가 있다면 어떤 유형의 출력을보아야합니까?
cv2.inRange() 픽셀의 배열이 아닌 단일 값 바이너리 이미지를 반환
여기 창에 이미지를 인쇄하고 작업하는지 확인하는 방법은 다음과 같습니다. 따라서 모든 0은 임계 값 이후의 이미지에서 검은 픽셀에 해당합니다. imshow를 사용하여 이미지를보십시오. 또한 "올바르게 작동하는"것을 어떻게 정의 할 것입니까? –
참고로 [OpenCV color conversion metrics] (http://docs.opencv.org/2.4/modules/imgproc/doc/miscellaneous_transformations.html#cvtcolor)를 반드시 확인하십시오. 수동으로 thresholding 할 때 매우 중요합니다! –
hue, sat 및 val에 대해 out.dtype, lower 및 upper limits를 제공하십시오. –