HSV 物品檢測(我檢測是自己的眼藥水)

2021-08-06 06:04:20 字數 1771 閱讀 2993

#include "mergeimage.h"

#include "videohandle.h"

#include "detecttext.h"

#include using namespace cv;

int main()

mat hsvimage;

mat hsv[3];

while (cap.read(frame))

cvtcolor(frame, hsvimage, cv_bgr2hsv);

split(hsvimage, hsv);

mat bin = hsv[0] > 90 & hsv[0] < 110;

/*形態**算

第乙個引數,inputarray型別的src,輸入影象,即源影象,填mat類的物件即可。影象位深應該為以下五種之一:cv_8u, cv_16u, cv_16s, cv_32f 或cv_64f。

第二個引數,outputarray型別的dst,即目標影象,函式的輸出引數,需要和源有一樣的尺寸和型別。

第三個引數,int型別的op,表示形態**算的型別,可以是如下之一的識別符號:

morph_open – 開運算(opening operation)

morph_close – 閉運算(closing operation)

morph_gradient - 形態學梯度(morphological gradient)

morph_tophat - 「頂帽」(「top hat」)

morph_blackhat - 「黑帽」(「black hat」)

第四個引數,inputarray型別的kernel,形態**算的核心。若為null時,表示的是使用參考點位於中心3x3的核。

我們一般使用函式 getstructuringelement配合這個引數的使用。getstructuringelement函式會返回指定形狀和尺寸的結構元素(核心矩陣)。

其中,getstructuringelement函式的第乙個引數表示核心的形狀,我們可以選擇如下三種形狀之一 :

矩形 : morph_rect

交叉形 : morph_cross

橢圓形 : morph_ellipse

而getstructuringelement函式的第二和第三個引數分別是核心的尺寸以及錨點的位置。

我們一般在呼叫erode以及dilate函式之前,先定義乙個mat型別的變數來獲得getstructuringelement函式的返回值。對於錨點的位置,有預設值point(-1, -1),表示錨點位於中心。且需要注意,十字形的element形狀唯一依賴於錨點的位置。而在其他情況下,錨點只是影響了形態**算結果的偏移。

*/morphologyex(bin, bin, cv_mop_open, null);//getstructuringelement(cv_shape_rect, size(5, 5))

vector> pointcnts;

findcontours(bin, pointcnts, 0, 2);

if (pointcnts.size() > 0)) - pointcnts.begin();

//計算輪廓的垂直邊界最小矩形,矩形是與影象上下邊界平行的

rect rect = boundingrect(pointcnts[ind]);

rectangle(frame, rect, scalar(0, 255, 255), 3);

} imshow("eye tears", frame);

waitkey(1);

}}

檢測1的個數 面板檢測儀是怎麼檢測面板的?

很多人都對 檢測儀抱有懷疑的態度,檢測儀真的可以檢測出 嗎?都說想要進行 保養就要先清楚自己的面部肌膚問題,面部 檢測儀有很多種,今天就先說魔鏡 檢測儀。魔鏡 檢測儀全稱是電腦魔鏡 檢測分析儀,它是目前世界上先進的面部成像分析系統之一。它運用rgb和uv光譜成像技術,可以檢測出面部 的色斑 毛孔 皺...

說下我自己對空號檢測的理解跟心得

我想很多跟我一樣接觸過營銷的小夥伴,大部分應該都多多少少接觸過超速空號檢測這個軟體,是的,就如它的名字一樣,是專業檢測任何手機號碼的工具,可以幫助我們快速篩選出空號,整理好 的輔助工具,我們會經常用到它,所以空號檢測我們都會覺得,我們是聽清楚清楚它的功能 等等 會覺得自己對它的了解很懂的樣子,但並不...

自己訓練的Hog Svm 行人檢測

cpp view plaincopyprint include cv.h include highgui.h include stdafx.h include include include include include using namespace cv using namespace std...