三
十、輪廓周圍繪製矩形框和圓形框
作用是把乙個很多點的多邊形變成乙個點數適中的多邊形,在這個多邊形裡面找它的最小連線矩形和最小的圓。
(inputarray curve,
//輸入乙個多邊形(點)
//輸出乙個處理後的多邊形(點)
double epsilon,
//表示兩點之間的最小距離,小於這個距離捨去,大於這個距離保留
bool closed//判斷是否封閉
)2、繪製矩形和旋轉矩形api
3、輪廓周圍繪製圓和旋轉橢圓api
minenclosingcircle
(inputarray points,
//找到最小區域圓形
point2f& center,
//圓心座標
float
& radius//圓的半徑
)
4、步驟
示例**:(輪廓周圍同時繪製矩形框和圓形框)
#include
#include
#include
using
namespace cv;
using
namespace std;
mat src, src_gray, dst;
int threshold_value =
170;
int threshold_max =
255;
rng rng
(12345);
void
threshold_callback
(int
,void*)
;char output_win=
"output image"
;int
main
(int argc,
char
** ar**)
imshow
("input image"
, src)
;namedwindow
(output_win, window_autosize)
;cvtcolor
(src, src_gray, color_bgr2gray)
;blur
(src_gray, src_gray,
size(3
,3),
point(-
1,-1
), border_default)
;createtrackbar
("threshold value:"
, output_win,
&threshold_value, threshold_max, threshold_callback)
;threshold_callback(0
,0);
waitkey(0
);return0;
}void
threshold_callback
(int
,void*)
}//繪製
src.
copyto
(dst)
; point2f pts[4]
;for
(size_t i =
0; i < contours.
size()
; i++)}
}imshow
(output_win, dst)
;}
輸出結果顯示:
單獨繪製矩形框與圓形框
單獨繪製旋轉框
29 輪廓發現
輪廓發現是基於影象邊緣提取的基礎尋找物件輪廓的方法,所以邊緣提取的閾值選定會影響最終輪廓發現結果 cv findcontours inputoutputarray binimg,輸入影象,非0的畫素被看成1,0的畫素值保持不變,8 bit outputarrayofarrays contours,全...
opencv 20 輪廓查詢與繪製
輪廓可以簡單認為成將連續的點 連著邊界 連在一起的曲線,具有相同的顏色或者灰度,提取輪廓就是提取這些具有相同顏色或者灰度的曲線,或者說是連通域,輪廓在形狀分析和物體的檢測和識別中非常有用。為了更加準確,要使用二值化影象。在尋找輪廓之前,要進行閾值化處理或者 canny 邊界檢測 查詢輪廓的函式會修改...
31 輪廓周圍繪製矩形框和圓形框
1 api介紹 2 演示 3 旋轉矩形api cv minarearect 得到包含輪廓的旋轉矩形 4 輪廓最小區域圓形繪製api cv minenclosingcircle enclosing 封閉的,包捲的 5 輪廓最小區域橢圓繪製api cv fitellipse 1 將影象轉換為二值影象 2...