opencv 20 輪廓查詢與繪製

2021-09-25 11:07:08 字數 2302 閱讀 2097

輪廓可以簡單認為成將連續的點(連著邊界)連在一起的曲線,具有相同的顏色或者灰度,提取輪廓就是提取這些具有相同顏色或者灰度的曲線,或者說是連通域,輪廓在形狀分析和物體的檢測和識別中非常有用。

①為了更加準確,要使用二值化影象。在尋找輪廓之前,要進行閾值化處理或者 canny 邊界檢測 

②查詢輪廓的函式會修改原始影象。如果你在找到輪廓之後還想使用原始影象的話,你應該將原始影象儲存到其他變數中(clone(), copyto()) 

③在opencv 中,查詢輪廓就像在黑色背景中找白色物體。你應該記住, 要找的物體應該是白色而背景應該是黑色。

findcontours()—–查詢輪廓 

drawcontours()—–繪製輪廓

drawcontours(tempimg, contours, -1, scalar(0, 255, 0), 2, 8); //繪製輪廓
**2

for(int i=0; i**1和**2實現的功能相同

drawcontours(tempimg, contours, -1, scalar(0, 255, 0), -1, 8); //繪製輪廓

cout

#include#includeusing namespace std;

using namespace cv;

mainwindow::mainwindow(qwidget *parent)

: qmainwindow(parent)

}//孔洞填充

drawcontours(tempimg, contours, -1, scalar(0, 255, 0), -1, 8); //繪製輪廓

//標記連通域

cout<

for(int i=0; i

imshow("contours", tempimg);

waitkey(0);

}mainwindow::~mainwindow()

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...

opencv學習(四)輪廓識別

本章學習輪廓識別 bbb.cpp 定義控制台應用程式的入口點。include stdafx.h include using namespace std using namespace cv int tmain size refs size int captrefrnc.get cv cap prop...