OpenCV에서 입력 이미지가 회색 이미지로 변환되는 SURF 기능을 사용하고 있습니다.SURF 및 OpenSURF를 컬러 이미지로 변환
OpenSURF의 문서를 살펴보면 회색 음영이 아니라는 것을 깨달았습니다.
내 혼란은 모든 이미지 형식 (YUV, HSV, RGB)에 SURF를 적용 할 수 있습니까? 그렇지 않으면이를 달성하기 위해 프로그램을 변경하고 수정해야합니까?
OpenCV에서 입력 이미지가 회색 이미지로 변환되는 SURF 기능을 사용하고 있습니다.SURF 및 OpenSURF를 컬러 이미지로 변환
OpenSURF의 문서를 살펴보면 회색 음영이 아니라는 것을 깨달았습니다.
내 혼란은 모든 이미지 형식 (YUV, HSV, RGB)에 SURF를 적용 할 수 있습니까? 그렇지 않으면이를 달성하기 위해 프로그램을 변경하고 수정해야합니까?
대부분의 기능 감지기는 이미지 패치의 가장자리 패턴을 분석하기 때문에 그레이 스케일에서 작동합니다. 사용자가 언급 한 색상 형식의 단일 색상 채널에서 SURF를 실행할 수 있습니다. 즉, YUV 이미지에서 Y, U 또는 V 또는 HSV 이미지에서 H, S 또는 V로 실행할 수 있습니다. OpenSURF가 이것을 어떻게 처리하는지 잘 모르지만 내부적으로 그레이 스케일 이미지를 사용해야합니다.
단일 채널이 아닌 OpenSURF에 이미지를 지정하면 OpenCV와 마찬가지로 cvtColor(src, dst, CV_BGR2GRAY)
이 호출됩니다. YUV, HSV, Lab 등에서 3 채널 이미지를 전달하면 이미지에 부적절한 색상 변환이 적용되므로 문제가 심각하게 발생합니다 ..
추가적으로 OpenSURF는 계산이 완료되면 바로 회색 음영 변환을 수행합니다 적분 영상 (검출기에 의해 필요함). 'IplImage * img = getGray (source);'를 수행하는'IplImage * Integral (IplImage * source)'를 보라. – deltheil