2012-06-21 4 views
5

Это касается проекта, который касается обнаружения текста в изображении с использованием OpenCV в C. Процесс заключается в обнаружении цветов внутри и вне соответствующих контуров, а способ сделать это - рисовать нормали на контурах в равных промежутках и извлекать цвета пикселей в соответствующих положениях конечных точек нормалей.Поиск длины контура в opencv

Я пытаюсь реализовать это, используя следующий код, но он не работает. Я имею в виду, что он рисует нормали, но не равномерно и равномерно.

for(; contours!=0 ; contours = contours->h_next) 
{ 
     CvScalar color = CV_RGB(rand()&255, rand()&255, rand()&255); 

     cvDrawContours(cc_color, contours, color, CV_RGB(0,0,0), -1, 1, 8, cvPoint(0,0)); 
     ptr = contours; 
     for(i=1; i<ptr->total; i++) 
     { 
     p1 = CV_GET_SEQ_ELEM(CvPoint, ptr, i); 

     p2 = CV_GET_SEQ_ELEM(CvPoint, ptr, i+1); 

     x1 = p1->x; 
     y1 = p1->y; 

     x2 = p2->x; 
     y2 = p2->y; 
     printf("%d %d  %d %d\n",x1,y1,x2,y2); 
     draw_normals(x1,y1,x2,y2); 
    } 
} 

Так есть ли способ, чтобы найти длину контура, так что я могу разделить его на число нормалей, которые я хочу сделать. Заранее спасибо.

EDIT: функция draw_normal рисует нормали между двумя пунктами, переданными ей как параметры.

+0

Исходное изображение, выход вы получили и желаемый результат, если загружен бы здорово на этот вопрос –

ответ

9

Так есть способ найти длину контура?

Да, вы можете найти длину контура, используя стандартную функцию OpenCV, cvarcLength().

Check Documentation here.

+0

Ок .. получил это .. :) Но как он возвращает длину? Я думал, что он вернет число пикселей, из которых состоит периметр контура. Поэтому я немного смутился, заметив, что тип возврата был двойным. – bluechill

+0

Вам нужно будет проверить источник: http://code.opencv.org/projects/opencv/repository/entry/trunk/opencv/modules/imgproc/src/shapedescr.cpp (строка 45 и далее) –

+0

Кроме того, контуры не У всех точек границы. Чтобы узнать, что у него есть, посетите здесь: http://opencvpython.blogspot.in/2012/06/hi-this-article-is-tutorial-which-try.html –

 Смежные вопросы

  • Нет связанных вопросов^_^