Đâ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ố.
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 –