Как определить и извлечь положение текста из изображений. Например, текст «pepsi» из изображения бутылки pepsi. http://www.csmonitor.com/var/ezflow_site/storage/images/media/content/2013/0321-new-pepsi-bottle.jpg/15343519-1-eng-US/0321-new-pepsi-bottle.jpg_full_600.jpgКак определить и извлечь положение текста из изображений в iOS
0
A
ответ
0
Сначала вам нужны две картины, подобные этому. Используйте canny в opencv или Photoshop.
Затем сделайте фон разностей следующим
System.loadLibrary(Core.NATIVE_LIBRARY_NAME);
Mat model = Highgui.imread("D:\\BKDiff\\can1.jpg",Highgui.CV_LOAD_IMAGE_GRAYSCALE);
Mat scene = Highgui.imread("D:\\BKDiff\\can2.jpg",Highgui.CV_LOAD_IMAGE_GRAYSCALE);
Mat diff = new Mat();
Core.absdiff(model,scene,diff);
Imgproc.threshold(diff,diff,15,1000,Imgproc.THRESH_BINARY);
int distortion = Core.countNonZero(diff);
Highgui.imwrite("D:\\BKDiff\\out.jpg",diff);
После этого, вы получите это.
0
Вы также можете увидеть следующую бумагу на Stroke Width transform. Его просто реализовать и дает довольно высокую точность.
Я вижу, есть также implementation.
+0
Да, спасибо, я попробую этот в opencv .. – user4897
Да, спасибо, что он работает отлично, теперь мне нужно нарисовать прямоугольную коробку на этом логотипе, который мы получили, как я могу это сделать. – user4897
Я использую приведенный ниже код, чтобы найти ограничительную рамку cv :: Mat threshold_output; cv :: Mat m = img.clone(); cv :: blur (m, m, cv :: Размер (5,5)); std :: vector> контуры; std :: vector очки; cv :: findContours (m, контуры, CV_RETR_LIST, CV_CHAIN_APPROX_NONE); m.release(); для (size_t i = 0; i
user4897
Вы можете использовать подмат для извлечения текста. – zawhtut