-
Количество публикаций
6 -
Зарегистрирован
-
Посещение
Сообщения, опубликованные пользователем TotenSie
-
-
Дело в том что я хочу применить этот метод для распознавания автомобильного номерного знака. Насколько я помню в номерном знаке могут присутствовать цифры от 0 до 9 и буквы(А, В, Е, К, М, Н, О, Р, С, Т, У, Х). Проблема возникает тут тока с цифрами 6 и 9, 0 и о. Хотелось бы еще узнать, есть ли какие нить другие методы реализации данной задачи с помощью OpenCV и без использования нейронных сетей.
-
Добрый день.
В общем прочитал статейку одну про распознавание текста с помощью инвариантных моментов и решил попробовать сделать.
Написал прогу, которая должна находить контуры 2 изображений и их моменты, но что то не получается при распознавании.
Беру 2 изображения.
#include "stdafx.h" #include <stdio.h> #include "cv.h" #include "highgui.h" int main() { CvMemStorage* image_storage = cvCreateMemStorage(0); CvMemStorage* nomer_storage = cvCreateMemStorage(0); CvSeq* nomer_contours; CvSeq* image_contours; IplImage *image = 0; image = cvLoadImage( "ex.jpg", 1 ); IplImage *image_gray = cvCreateImage(cvSize(24,42), IPL_DEPTH_8U, 1); cvCvtColor( image, image_gray, CV_BGR2GRAY ); IplImage *image_canny = cvCreateImage(cvSize(24,42), IPL_DEPTH_8U, 1); cvCanny( image_gray, image_canny, 50, 255, 3 ); IplImage *nomer = 0; nomer = cvLoadImage( "E100EE22.jpg", 1 ); IplImage *nomer_gray = cvCreateImage(cvSize(24,42), IPL_DEPTH_8U, 1); cvCvtColor( nomer, nomer_gray, CV_BGR2GRAY ); IplImage *nomer_canny = cvCreateImage(cvSize(24,42), IPL_DEPTH_8U, 1); cvCanny( nomer_gray, nomer_canny, 50, 255, 3 ); cvFindContours( nomer_canny, image_storage, &nomer_contours, sizeof(CvContour), CV_RETR_TREE, CV_CHAIN_APPROX_SIMPLE, cvPoint(0,0)); cvFindContours( image_canny, nomer_storage, &image_contours, sizeof(CvContour), CV_RETR_TREE, CV_CHAIN_APPROX_SIMPLE, cvPoint(0,0)); double match = cvMatchShapes( nomer_contours, image_contours, CV_CONTOURS_MATCH_I3)) cvReleaseImage( &nomer ); cvReleaseImage( &nomer_gray ); cvReleaseImage( &nomer_canny ); cvReleaseImage( &image ); cvReleaseImage( &image_gray ); cvReleaseImage( &image_canny ); cvClearMemStorage( image_storage ); cvClearMemStorage( nomer_storage ); return 0; }
-
Можно ли с помощью каскада Хаара находить автомобильные номера или лутше использовать какой нибудь другой метод?
-
Спасибки
-
Опишите плз, как сгенерировать на основе одного эталонного объекта заданное количество случаев с помощью createsamples.
Работа с контурами
в OpenCV
Опубликовано · Report reply
Исходное изображение:
Результат программы:
Тока чёто буковку У плохо обвел, он ее зачем то разделил на 2 контура =)
Если будут какие то замечания, то пишите.