這是關於使用C中的OpenCV檢測圖像中文本的項目。該過程用於檢測相應輪廓內外的顏色,以及如何繪製法線在等間距位置的輪廓上並且提取法線端點的對應位置中的像素顏色。在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);
}
}
那麼,有沒有辦法找到一個輪廓的長度,這樣我可以通過法線我想畫的數量除以它。提前致謝。
編輯:draw_normal函數繪製傳遞給它的兩個點之間的法線作爲參數。
的原始圖像,如果上傳你得到的輸出與期望的輸出會爲這個問題是很大的 –