opencv 提取多邊形mask區域

2021-09-22 02:13:43 字數 880 閱讀 6693

最近在專案中需要提取多邊形區域,並傳入到運算元中計算,故記錄一下對多邊形mask區域的提取方法。

#include using namespace cv;

int main()

關鍵函式為:fillpoly,該函式提供兩種呼叫介面,分別如下:

void fillpoly(mat& img, const point** pts,

const int* npts, int ncontours,

const scalar& color, int linetype=8, int shift=0,

point offset=point() );

void fillpoly(inputoutputarray img, inputarrayofarrays pts,

const scalar& color, int linetype=8, int shift=0,

point offset=point() );

這裡使用到第二種呼叫介面,其具體實現**如下:

void cv::fillpoly(inputoutputarray img, inputarrayofarrays pts,

const scalar& color, int linetype, int shift, point offset)

fillpoly(img, (const point**)ptsptr, npts, (int)ncontours, color, linetype, shift, offset);

}

可見,最終還是呼叫第乙個介面實現。

opencv 多邊形檢測

示例 為7邊形,直接改巨集定義即可 include include include include include define shape 7 要檢測的多邊形邊數shape 檢測形狀 3為三角形,4矩形,5為五邊形 函式功能 用向量來做cos 兩向量之積 兩向量模的乘積求兩條線段夾角 輸入 線段3...

Opencv繪製多邊形

利用opencv繪製多邊形,主要是因為給的資料是4個點,而繪製矩形的函式cv2.rectangle只傳遞兩個點,即左上和右下。繪製矩形框可以參考這裡 就是利用cv2.fillpoly函式 cv2.fillpoly img,area1,area2,area3 2,255,255 image表示處理的 ...

求任意多邊形面積(凹多邊形和凸多邊形)

遇到問題 已知多邊形的各個左邊點,要求多邊形的面積 然後我搜尋了下看到這篇文章 這個人說的不多,但是簡單明瞭 首先已知各定點的座標分別為 x1,y1 x2,y2 x3,y3 xn,yn 則該多邊形的面積公式為 s 1 2 x1 y2 x2 y1 x2 y3 x3 y2 xk yk 1 xk 1 yk...