Jump to content
Compvision.ru

TotenSie

Пользователи
  • Content count

    6
  • Joined

  • Last visited

Community Reputation

0 Новичек

About TotenSie

  • Rank
    Новичок

Recent Profile Visitors

373 profile views
  1. Работа с контурами

    Исходное изображение: Результат программы: Тока чёто буковку У плохо обвел, он ее зачем то разделил на 2 контура =) Если будут какие то замечания, то пишите. #include "stdafx.h" #include <stdio.h> #include "cv.h" #include "highgui.h" int main() { CvMemStorage* image_storage = cvCreateMemStorage(0); CvSeq* image_contours; cvNamedWindow( "Window1", 1 ); IplImage *image = 0; IplImage *clone = cvCreateImage(cvSize(227,42), IPL_DEPTH_8U, 3); image = cvLoadImage( "ex.jpg", 1 ); IplImage *image_gray = cvCreateImage(cvSize(227,42), IPL_DEPTH_8U, 1); cvCvtColor( image, image_gray, CV_BGR2GRAY ); IplImage *image_canny = cvCreateImage(cvSize(227,42), IPL_DEPTH_8U, 1); cvCanny( image_gray, image_canny, 50, 255, 3 ); cvFindContours( image_canny, image_storage, &image_contours, sizeof(CvContour), CV_RETR_TREE); while(image_contours) { cvZero( clone ); cvDrawContours( image, image_contours, CV_RGB(255,0,0), CV_RGB(0,255,0), 0, 0, CV_AA, cvPoint(0,0) ); CvRect rect = cvBoundingRect(image_contours); printf("%d %d %d %d\n", rect.x, rect.y, rect.width, rect.height); if(rect.width > 10 && rect.width < 60 && rect.height > 20 && rect.height < 60) { cvRectangle(image, cvPoint(rect.x, rect.y), cvPoint(rect.x+rect.width,rect.y+rect.height), CV_RGB(0,255,0), 0); } image_contours = image_contours ->h_next; cvShowImage( "Window1", image ); cvWaitKey(0); } cvDestroyWindow( "Window1" ); cvReleaseImage( &image ); cvReleaseImage( &image_gray ); cvReleaseImage( &image_canny ); cvReleaseImage( &clone ); cvClearMemStorage( image_storage ); return 0; }
  2. Дело в том что я хочу применить этот метод для распознавания автомобильного номерного знака. Насколько я помню в номерном знаке могут присутствовать цифры от 0 до 9 и буквы(А, В, Е, К, М, Н, О, Р, С, Т, У, Х). Проблема возникает тут тока с цифрами 6 и 9, 0 и о. Хотелось бы еще узнать, есть ли какие нить другие методы реализации данной задачи с помощью OpenCV и без использования нейронных сетей.
  3. Добрый день. В общем прочитал статейку одну про распознавание текста с помощью инвариантных моментов и решил попробовать сделать. Написал прогу, которая должна находить контуры 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; }
  4. Тренировка каскадов Хаара

    Можно ли с помощью каскада Хаара находить автомобильные номера или лутше использовать какой нибудь другой метод?
  5. Тренировка каскадов Хаара

    Спасибки
  6. Тренировка каскадов Хаара

    Опишите плз, как сгенерировать на основе одного эталонного объекта заданное количество случаев с помощью createsamples.
×