2012-06-21 50 views
5

Đây là một dự án liên quan đến việc phát hiện văn bản trong hình ảnh sử dụng OpenCV trong C. Quá trình này là để phát hiện màu sắc bên trong và bên ngoài đường bao tương ứng và cách thực hiện trên các đường bao ở các vị trí cách nhau bằng nhau và trích xuất các màu pixel ở các vị trí tương ứng của các điểm kết thúc chuẩn.Tìm chiều dài đường viền trong opencv

Tôi đang cố triển khai tính năng này bằng mã sau nhưng không hoạt động. Ý tôi là, bản vẽ của nó là các tiêu chuẩn nhưng không phải là thời trang và khoảng cách đều nhau.

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); 
    } 
} 

Vì vậy, có cách tìm chiều dài đường bao để tôi có thể chia cho số lượng chuẩn mà tôi muốn vẽ. Cảm ơn trước.

EDIT: Hàm draw_normal vẽ các normals giữa hai điểm được truyền cho nó dưới dạng tham số.

+0

Một hình ảnh ban đầu, sản lượng bạn có và đầu ra mong muốn nếu tải lên sẽ là tuyệt vời cho câu hỏi này –

Trả lời

9

Vì vậy, có cách nào để tìm chiều dài của đường bao không?

Có, bạn có thể tìm chiều dài đường bao bằng chức năng chuẩn OpenCV, cvarcLength().

Check Documentation here.

+0

Ok .. đã nhận nó .. :) Nhưng làm thế nào để nó trở lại độ dài? Tôi nghĩ rằng nó sẽ trả về số lượng pixel mà chu vi đường bao bao gồm. Vì vậy, tôi hơi bối rối khi nhận thấy rằng kiểu trả về là gấp đôi. – bluechill

+0

Bạn sẽ cần phải kiểm tra nguồn: http://code.opencv.org/projects/opencv/repository/entry/trunk/opencv/modules/imgproc/src/shapedescr.cpp (Dòng 45 trở đi) –

+0

Ngoài ra, đường nét không không có tất cả các điểm ranh giới. Để xem những gì nó có, hãy truy cập vào đây: http://opencvpython.blogspot.in/2012/06/hi-this-article-is-tutorial-which-try.html –

Các vấn đề liên quan