五月天青色头像情侣网名,国产亚洲av片在线观看18女人,黑人巨茎大战俄罗斯美女,扒下她的小内裤打屁股

歡迎光臨散文網(wǎng) 會(huì)員登陸 & 注冊

OpencvSharp入門學(xué)習(xí)

2023-07-29 14:59 作者:燃燒的大西幾  | 我要投稿

OpencvSharp筆記???Mat:矩陣

??

using OpenCvSharp;


一:加載圖像文件


//加載圖像,返回Mat對象,fileName為圖像的路徑+名字

Mat?img = CV2.ImRead(fileName , ImreadModes.Color);???//加載為彩色圖像,結(jié)果是三通道

Mat?img = CV2.ImRead(fileName , ImreadModes.Grayscale);???//加載為灰度圖像,結(jié)果是單通道

Mat?img = CV2.ImRead(fileName , ImreadModes.AnyColor);???//加載任意圖像,結(jié)果隨圖像,原圖為幾通道就是幾通道



二:顯示圖像文件


CV2.ImShow("窗口名稱", img);???//img是將要顯示的Mat對象,此處顯示Mat對象必須是BGR格式,其他像素格式需要轉(zhuǎn)回BGR格式再顯示

CV2.WaitKey();???//用于CV2.ImShow的等待。沒有此句則立即執(zhí)行下一行代碼



三:顏色轉(zhuǎn)換??ColorConversionCodes是枚舉


Mat img = CV2.ImRead(fileName , ImreadModes.Color); //加載彩色圖像


Mat gray = new Mat();

CV2.CvtColor(img , gray , ColorConversionCodes.BGR2GRAY); //將img圖像轉(zhuǎn)為灰度圖格式


Mat hsy = new Mat();

CV2.CvtColor(img , hsy , ColorConversionCodes.BGR2HSV); //將BGR格式轉(zhuǎn)為HSV格式



四:尺寸調(diào)整


Mat?result = new Mat();

CV2.Resize(img , result , new OpenCvSharp.Size(100,100)); //括號內(nèi)100,100?為像素大小

CV2.Resize(img , result , new OpenCvSharp.Size(0,0),2,2); //若括號內(nèi)為0,0?則表示用外面的2,2?意思是放大倍數(shù)

//CV2.Resize方法有多個(gè)重載



五:二值化


Mat?gray = new Mat();

CV2.CvtColor(img , gray , ColorConversionCodes.BGR2GRAY); //轉(zhuǎn)為灰度圖

Scalar scalar = CV2.Mean(gray); //計(jì)算灰度圖平均值

CV2.Threshold(gray , gray , scalar.va10 , 255 , ThreshoidTypes.Binary); //二值化(即黑白二色)?



六:四則運(yùn)算?注:不可以單通道圖和多通道圖相運(yùn)算,只能:單通道與單通道,多通道與多通道運(yùn)算


CV2.BitwiseAnd?//與運(yùn)算

CV2.BitwiseNot?//取反運(yùn)算

CV2.BitwiseOr?//或運(yùn)算

CV2.BitwiseXor?//異或運(yùn)算

CV2.Add?//兩圖相加

CV2.Subtract?//兩圖相減

CV2.Multiply?//乘法

CV2.Divide?//除法



七:顏色分割

// HSV:H為顏色范圍

//常見的顏色范圍:Orange: 0~22??Yellow:22~38??Green:38~75?Blue:75~130?Violet:130~160?Red:160~179

//見截圖,桌面 yansefenge



八:直線檢測

CV2.ImShow("haha",img);

Mat gray = ConvertToBlackBinary(img); //二值化

CV2.ImShow("二值化",gray);

var?kenal3 = CV2.GetStructuringElement(MorphShapes.Rect , new OpenCvSharp.Size(2,2));?// 腐蝕

CV2.Dilate(gray , gray , kenal3);?//膨脹

CV2.ImShow("二值化Dilate" , gray);

CV2.Canny(gray , gray , 50 , 150);?//找輪廓

CV2.ImShow("Canny" , gray);

var lines = CV2.HoughLinesP(gray , 1 , Math.PI/180 , 100 , 250 , 50); //劃線

if(lines.Length>0)

?{

??for(int i=0 ; i<lines.Length ; i++)

????{

?????CV2.Line(img , lines[i].P1 , lines[i].P2 , new Scalar(255 , 0 , 0) , 1 , LineTypes.AntiAlias);

????}

?}

CV2.ImShow("結(jié)束" , img);

return img;




OpencvSharp入門學(xué)習(xí)的評論 (共 條)

分享到微博請遵守國家法律
潮安县| 通化市| 巴彦淖尔市| 克东县| 南澳县| 孝感市| 安乡县| 准格尔旗| 库尔勒市| 松原市| 蒙城县| 三门峡市| 清远市| 鹤岗市| 霍城县| 察雅县| 夹江县| 通城县| 武夷山市| 兴化市| 克山县| 泉州市| 江北区| 盘山县| 新昌县| 昌宁县| 辽中县| 乌拉特后旗| 宜黄县| 应城市| 阳东县| 高要市| 舞阳县| 普兰县| 彭水| 梅河口市| 云梦县| 浙江省| 洛宁县| 海南省| 攀枝花市|