31 輪廓周圍繪製矩形框和圓形框

2021-10-02 20:54:10 字數 2286 閱讀 4426

1、api介紹;

2、**演示;

3、旋轉矩形api :cv::minarearect(): 得到包含輪廓的旋轉矩形;

4、輪廓最小區域圓形繪製api :cv::minenclosingcircle(); enclosing : 封閉的,包捲的

5、輪廓最小區域橢圓繪製api :cv::fitellipse();

1、將影象轉換為二值影象;

2、發現輪廓,找到輪廓影象;

3、通過相關api在輪廓點上找到最小包含矩形和圓,旋轉矩形和橢圓;

4、繪製;

#include

#include

using

namespace std;

using

namespace cv;

mat src, gray_src, drawimg;

int threshold_v =

124;

int threshold_max =

255;

rng rng

(12345);

const

char

* output_win =

"rectangle demo"

;const

char

* input_win =

"input image"

;void

contours_callback

(int

,void*)

;int

main

(int argc,

char

** ar**)

cvtcolor

(src, gray_src, cv_bgr2gray)

;blur

(gray_src, gray_src,

size(3

,3),

point(-

1,-1

), border_default)

;//均值模糊

namedwindow

(output_win, cv_window_autosize)

;namedwindow

(input_win, cv_window_autosize)

;imshow

(input_win, gray_src)

;createtrackbar

("threshold value :"

, input_win,

&threshold_v, threshold_max, contours_callback,0)

;contours_callback

(threshold_v,0)

;waitkey(0

);return0;

}void

contours_callback

(int

,void*)

}//繪製包含輪廓的矩形和圓

drawimg = mat::

zeros

(src.

size()

, src.

type()

);//可以選擇拷貝原圖,還是建立黑色背景圖形

point2f pts[4]

;for

(size_t t =

0; t < contours.

size()

; t++)}

}imshow

(output_win, drawimg)

;return

;}

1、原圖:(閾值發現124最合適)

2、二值影象:

3、繪製影象:

OpenCV29 輪廓周圍繪製矩形框和圓形框

三 十 輪廓周圍繪製矩形框和圓形框 作用是把乙個很多點的多邊形變成乙個點數適中的多邊形,在這個多邊形裡面找它的最小連線矩形和最小的圓。inputarray curve,輸入乙個多邊形 點 輸出乙個處理後的多邊形 點 double epsilon,表示兩點之間的最小距離,小於這個距離捨去,大於這個距離...

18輪廓 繪製方形,原型

用cvseq的函式建立圓和矩形,這兩個影象用點序列來表示。有關序列的讀寫方法可以自行學習,這裡只給出乙個示例 include include include using namespace std using namespace cv define cvx red cv rgb 0xff,0x00,...

21 22輪廓繪製(EmguCV學習)

輪廓近似方法 3 cvinvoke.drawcontours 函式 contouridx 控制繪製當前輪廓i,如果為負值,則繪製所有輪廓 thickness 繪製線寬,如果為負,則填充輪廓 hierarchy 輪廓的層次結構資訊 maxlevel 控制是否繪製當前輪廓之外的輪廓 需要有hierarc...