最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網(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í)的評論 (共 條)

分享到微博請遵守國家法律
汉源县| 洛浦县| 酉阳| 巴塘县| 武强县| 曲水县| 大英县| 廊坊市| 兰州市| 正蓝旗| 泽普县| 榕江县| 沙雅县| 海盐县| 元江| 耒阳市| 峨边| 齐齐哈尔市| 瑞安市| 通城县| 南江县| 城固县| 宝鸡市| 拉孜县| 堆龙德庆县| 定安县| 永仁县| 尼玛县| 孟连| 博客| 平顶山市| 班玛县| 西乡县| 秦安县| 清涧县| 称多县| 碌曲县| 麻江县| 沂水县| 右玉县| 临潭县|