我正在使用Java中的OpenCV 3,尝试在其他图像上查找小图片(例如25x25像素)。但是FeatureDetector检测到小图像上的(0,0)大小矩阵。
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的大小为零,并且检测不起作用。
但如果我尝试对150x150像素这样的较大图像进行操作,则可以正常工作。 有什么建议吗?谢谢。
将图像缩放到更高的分辨率不适合我。那将是时间和资源的浪费。 理想情况下,它应该是旋转比例不变的。 但简单的解决方案没有旋转和比例也可以。
对我来说,除OpenCv之外的其他解决方案都是不可接受的。(例如使用Tesseract)