平滑 / 模糊
int blurValue = 10;
Mat kernel = Mat::ones(blurValue,blurValue, CV_32F)/blurValue/blurValue;
filter2D(frame, f1, -1, kernel);
這里構(gòu)建的卷積是一個nxn大小區(qū)域,區(qū)域內(nèi)得到卷積為1黍翎,范圍越大模糊也就越明顯,這種模糊沒有高斯分布模糊好看艳丛。但是最快的處理方式玩敏。
均值模糊, 同上面例子
blur(frame, f2, {10,10});
高斯模糊
分布方式為高斯分布质礼,越接近當(dāng)前點,越獲得更高權(quán)重
GaussianBlur(frame, f3, {11,11}, 0);
中值模糊
分布方式按照像素的顏色來動態(tài)分布织阳, 用于去除噪點
medianBlur(frame, f4, 11);
雙邊模糊
用于區(qū)分顏色的模糊方式眶蕉,邊緣顏色對比強烈時保留細節(jié),opencv的雙邊不能報考透明通道唧躲,否則會報錯
cvtColor(frame, frame, COLOR_BGRA2BGR);
bilateralFilter(frame, f5, 11, _s1.value*2,_s2.value*2, BORDER_REPLICATE);
雙邊模糊可以用于人臉磨皮造挽,你的美顏相機其中就有這個算法
在這里可以找到ps中對應(yīng)濾鏡的函數(shù),真的很有趣