濾波【線性捺信;非線性】 - [含義:不能損壞圖像的輪廓以邊緣等重要信息殷勘;使圖像清晰視覺效果好]
平滑濾波: 功能:一類是模糊殿如;另一類是消除噪音
平滑分兩種:
·線性濾波 :高斯噪音處理比較好鸭蛙,噪音的值不是很大【如果處理散粒噪音只是讓它變得柔和】
·非線性濾波 :散粒噪音處理比較好丐一,噪音值很大,很孤立
- 方框濾波:BoxBlur
結(jié)論:像素點變大茫孔,意味著圖像模糊了
- 均值濾波:Blur
其實是方框濾波的歸一化處理【歸一化例子:歸一化為20x80像素的圖像叮喳,即經(jīng)切割后的特征塊圖像若尺寸不為20x80像素,就把它們統(tǒng)一歸一化為 20x80像素】
結(jié)論:模糊效果比較好缰贝,原理是局部求均值起到模糊馍悟。缺點:如果局部有高頻噪音,就會對局部像素影響較大剩晴;如上帶雪花的圖像
- 高斯濾波:GaussianBlur
和前兩種算法的區(qū)別锣咒;通過一個掩膜mask遍歷圖像中每個像素進(jìn)行卷積然后替代它
結(jié)論:相對于前兩中平滑,高斯平滑更能保留細(xì)節(jié)赞弥,處理后的像素值更加接近原像素
- 中值濾波:medianBlur
含義:用領(lǐng)域的中值取替代遍歷到的像素
結(jié)論:避開了大量的散粒噪音
- 雙邊濾波:bilateralFilter
/*
參三:像素領(lǐng)域的直徑
參四:在像素領(lǐng)域中毅整,這個值越大混合的顏色就越寬廣
參五:數(shù)值越大意味著越遠(yuǎn)的像素會互相影響
*/
bilateralFilter(srcImg, g_sourceImg, 20, 70, 10);
結(jié)論:雙邊濾波在去除散粒噪音的同時還能保留邊緣細(xì)節(jié)信息。而這個時候我們的中值濾波的效果則還帶模糊绽左。
形態(tài)學(xué)濾波【平滑作用;且不改變面積】 腐蝕-erode悼嫉;膨脹-dilate;開閉運算拼窥;頂帽戏蔑;黑帽蹋凝;形態(tài)學(xué)梯度
含義介紹
- 腐蝕:突出圖像暗的區(qū)域;侵蝕亮的區(qū)域
- 膨脹:突出圖像亮的區(qū)域总棵;侵蝕暗的區(qū)域
- 開運算:先腐蝕后膨脹鳍寂;將原圖小型亮處的部分排除
- 閉運算:先膨脹后腐蝕;將原圖小型暗處部分排除
- 頂帽:原圖像矩陣減去開運算情龄,得到輪廓邊緣更亮細(xì)節(jié)
- 黑帽:閉運算減去原圖像矩陣伐割,得到輪廓邊緣更暗細(xì)節(jié)(為什么不是閉-原;因為越暗的像素值越小刃唤,越亮的像素值越大)
- 形態(tài)學(xué)梯度:膨脹圖減去腐蝕圖的差:突出邊緣輪廓
- 形態(tài)學(xué)濾波使用
morphologyEx
函數(shù),傳入不同的枚舉值來執(zhí)行以上6種算法
- 形態(tài)學(xué)濾波使用
/** morphologyEx 枚舉值
-MORPH_ERODE 腐蝕
-MORPH_DILATE 膨脹
-MORPH_OPEN 開運算
-MORPH_CLOSE 閉運算
-MORPH_GRADIENT 形態(tài)學(xué)梯度
-MORPH_TOPHAT 頂帽
-MORPH_BLACKHAT 黑帽
*/
int w_h = 3;//傳進(jìn)來的數(shù) 先轉(zhuǎn)成int整型變量
/**
參二:內(nèi)核尺寸
參三:錨點 默認(rèn)是 (-1隔心,-1),為中心
*/
Mat element = getStructuringElement(MORPH_RECT, cv::Size(w_h * 2 +1,w_h *2 +1),cv::Point(w_h,w_h));
morphologyEx(g_sourceImg, dstImg, type, element);
漫水填充floodFill 含義:用特定的顏色填充連通區(qū)域尚胞,效果和photoshop魔術(shù)棒類似硬霍;用處:用來標(biāo)記或分離圖像的一部分;用來制作掩膜
注意:漫水填充設(shè)置的g_maskImage必須是比原圖的size大出2,也只能是2笼裳,cv::size(g_sourceImg.rows + 2, g_sourceImg.cols + 2)
//g_maskImage 掩膜
g_maskImage.create(g_sourceImg.rows + 2, g_sourceImg.cols + 2, CV_8UC1);
g_maskImage = Scalar::all(0);
cv::Rect ccomp;//定義重繪制區(qū)域的最小邊界矩形區(qū)域
//閾值處理
threshold(g_maskImage, g_maskImage, 1, 128, THRESH_BINARY);
/*漫水填充
參二:掩膜
參三:seek選擇點唯卖,也就是鼠標(biāo)點擊觸碰要填充的點
參四:newVal 填充的顏色
參五:cv::Rect**類型 ,重繪區(qū)域的最小邊界矩形
參六:和觀察點顏色負(fù)差最大值
參七:和觀察點顏色正差最大值
*/
floodFill(dst, g_maskImage, seed, newVal,&ccomp,Scalar(LowDifference,LowDifference,LowDifference),Scalar(UpDifference,UpDifference,UpDifference));
圖像金字塔reSize 含義:對圖像大小進(jìn)行調(diào)整
- 兩種大小變換方式
resize(g_sourceImg, g_dstImg, cv::Size(),size.width,size.height,INTER_LINEAR); // 按照比例縮放
resize(g_sourceImg, g_dstImg, g_dstImg.size(),INTER_LINEAR);//按照固定cv::size縮放
閾值化:threshold 概念:THRESH_BINARY模式 設(shè)定閾值大于遍歷的像素時設(shè)置255躬柬,小于閾值設(shè)置為0拜轨;用處:常常作為掩膜
注意:輸入的原圖需要是單通道,深度為8或32位