Java에서 Opencv 3을 사용하고 있는데 다른 이미지에 작은 이미지 (예 : 25x25 픽셀)를 찾으려고합니다. 그러나 FeatureDetector 감지 (0,0) 크기 작은 이미지에 매트.작은 이미지에 Opencv FeatureDetecter를 사용하는 방법
Mat smallImage = ...
FeatureDetector detector = FeatureDetector.create(FeatureDetector.ORB);
DescriptorExtractor descriptor = DescriptorExtractor.create(DescriptorExtractor.ORB);
DescriptorMatcher matcher = DescriptorMatcher.create(DescriptorMatcher.BRUTEFORCE_HAMMING);
Mat descriptorsSmall = new Mat();
MatOfKeyPoint keyPointsSmall = new MatOfKeyPoint();
detector.detect(smallImage, keyPointsSmall);
descriptor.compute(smallImage, keyPointsSmall, descriptorsSmall);
여기서 keyPointsSmall 및 descriptorsSmall 크기가 0으로 지정되어 있으며 감지가 제대로 작동하지 않습니다.
하지만 150x150 픽셀과 같이 더 큰 이미지를 사용해도 정상적으로 작동합니다. 제안 사항이 있으십니까? 고맙습니다.
여기 샘플을 추가합니다. 우리는이 소스 이미지가 있습니다
을 그리고 우리가 P 문자에 대한 템플릿이 있다고 가정 해 보자, 그래서 우리는 소스 이미지에이 P를 감지해야합니다.
음 이미지를 더 높은 해상도로 스케일링하면 나에게 적합하지 않습니다. 그것은 시간과 자원을 잃을 것입니다. 이상적으로 그것은 회전 스케일 불변이어야합니다. 그러나 회전 및 규모가없는 간단한 솔루션도 좋습니다.
OpenCv를 제외한 다른 솔루션은 허용되지 않습니다. (예 : Tesseract 사용)
작업중인 입력 데이터도 제공 할 수 있습니까? – ZdaR
나는 최상의 샘플이 텍스트 인식이 될 것이라고 생각한다. 20x25 픽셀과 같은 각 문자의 아이콘이 있다고 상상해보십시오. 따라서 다른 이미지에서이 문자를 인식하려고 시도하십시오. 간단히하기 위해 폰트 패밀리와 서체 가중치는 샘플과 동일하다고 말할 수 있습니다. – RustamIS
그래도 작업중인 데이터 세트를 직접 제공 할 수 있다면 문제를 재현 할 수 있습니다. – ZdaR