Я использую Opencv 3 в Java, я пытаюсь найти небольшие изображения (например, 25x25 пикселей) на другое изображение. Но FeatureDetector detection (0,0) размер Mat на маленьком изображении.Как использовать 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 размер как ноль, и уверен, что обнаружение не работает.
Но если я попробую это на больших изображениях, как 150x150 пикселей, которые работают нормально. Любые предложения? Спасибо.
Здесь я добавляю образцы. у нас есть этот исходный файл:
И пусть говорят, что мы имеем шаблон для P письма, поэтому мы должны обнаружить эту P на исходном изображении.
ну, масштабирование изображения до более высокого разрешения не будет работать для меня. Это будет потеряно во времени и ресурсе. В идеале это должен быть инвариант масштаба вращения. Но простое решение без вращения и масштабирования также в порядке.
Другие решения, кроме OpenCv, не подходят для меня. (например, используя Tesseract)
Можете ли вы также предоставить некоторые входные данные, над которыми вы работали? – ZdaR
Я думаю, что лучшим образцом будет распознавание текста, представьте, что у вас есть значки каждой буквы, например 20x25 пикселей, поэтому попытайтесь распознать эти буквы с другого изображения. Для простоты можно сказать, что семейство шрифтов и шрифт одинаковы с образцами. – RustamIS
Да, но если бы вы могли напрямую предоставить набор данных, над которым вы работаете, тогда мы сможем воспроизвести проблему. – ZdaR