double pointpolygontest( inputarray contour, point2f pt, bool measuredist );
///計算點到輪廓的距離與位置關係
mat srcimg = imread("d:\\1\\00.png");
imshow("src", srcimg);
cvtcolor(srcimg, srcimg, cv_bgr2gray);
threshold(srcimg, srcimg, 100, 255, cv_thresh_binary);
imshow("threshold", srcimg);
vector> contours;
vectorhierarcy;
//輸出輪廓數目
array: 輸入引數, 可以是光柵影象或二維陣列
binaryimage:預設值false, 非零畫素取其本身值, 若為true, 則非零畫素取1
返回值: moments類的物件, 返回對應的輪廓的空間矩/中心矩和歸一化中心矩(最高3階), 如下:
注意matchshapes()函式比較輪廓相似度是基於hu矩來計算的, 結果越小相似度越高。
hu矩是歸一化中心矩的線性組合, 是為了獲取影象某個特徵的矩函式(對應變化如平移、縮放、旋轉、映象)
mat srcimg = imread("d:\\1\\1.jpg"); //讀取模板影象
imshow("src", srcimg);
cvtcolor(srcimg, srcimg, cv_bgr2gray);
threshold(srcimg, srcimg, 100, 255, cv_thresh_binary);
vector> contours;
vectorhierarcy;
mat srcimg2 = imread("d:\\1\\2.jpg"); //讀取待測試
1.mat srcimg = imread("d:\\1\\1.jpg"); //讀取模板影象
imshow("src", srcimg);
cvtcolor(srcimg, srcimg, cv_bgr2gray);
threshold(srcimg, srcimg, 100, 255, cv_thresh_binary);
vector> contours;
vectorhierarcy;
模板影象和待測影象的處理方式必須相同 opencv學習(四)輪廓識別
本章學習輪廓識別 bbb.cpp 定義控制台應用程式的入口點。include stdafx.h include using namespace std using namespace cv int tmain size refs size int captrefrnc.get cv cap prop...
opencv學習 9 輪廓提取
輪廓提取 主要針對二值影象 1 輪廓分為外輪廓和內輪廓 如下圖 外輪廓以c開頭 內輪廓以h開頭 其中img是二值影象,storage是記憶體儲存序列,contours指向儲存的第乙個輪廓,cvmemstorage storage cvcreatememstorage 0 記憶體儲存序列 cvseq ...
opencv 9 輪廓 性質
邊界矩形的寬高比 x,y,w,h cv2.boundingrect cnt aspect ratio float w h輪廓面積與邊界矩形面積的比 area cv2.contourarea cnt x,y,w,h cv2.boundingrect cnt rect area w h extent f...