中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

C++ OpenCV如何實現模糊圖像

發布時間:2021-11-26 10:01:59 來源:億速云 閱讀:383 作者:小新 欄目:大數據

這篇文章主要介紹了C++ OpenCV如何實現模糊圖像,具有一定借鑒價值,感興趣的朋友可以參考下,希望大家閱讀完這篇文章之后大有收獲,下面讓小編帶著大家一起了解一下。

模糊圖像

圖像模糊是圖像處理中最常用的也是比較簡單的操作,使用該操作的原因之一就是為了給圖像預處理時隆低嗓聲.

卷積

就是疊加.卷積的重要的物理意義是:一個函數(如:單位響應)在另一個函數(如:輸入信號)上的加權疊加。

通俗的說:
在輸入信號的每個位置,疊加一個單位響應,就得到了輸出信號。
這正是單位響應是如此重要的原因。

 

卷積的應用

用一個模板和一幅圖像進行卷積,對于圖像上的一個點,讓模板的原點和該點重合,然后模板上的點和圖像上對應的點相乘,然后各點的積相加,就得到了該點的卷積值。對圖像上的每個點都這樣處理。由于大多數模板都是對稱的,所以模板不旋轉。卷積是一種積分運算,用來求兩個曲線重疊區域面積。可以看作加權求和,可以用來消除噪聲、特征增強。
把一個點的像素值用它周圍的點的像素值的加權平均代替。
卷積是一種線性運算,圖像處理中常見的mask運算都是卷積,廣泛應用于圖像濾波。
卷積關系最重要的一種情況,就是在信號與線性系統或數字信號處理中的卷積定理。利用該定理,可以將時間域或空間域中的卷積運算等價為頻率域的相乘運算,從而利用FFT等快速算法,實現有效的計算,節省運算代價

用圖片來說明

C++ OpenCV如何實現模糊圖像

OpenCV中自帶了4種模糊算法:

  • blur(均值模糊)

  • GaussianBlur(高斯模糊)

  • medianBlur(中值模糊)

  • bilateralFilter(雙邊濾波)

新建項目

新建一個項目opencv-0009,配置屬性(VS2017配置OpenCV通用屬性),然后在源文件寫入#include和main方法.并加載我們常用的那個圖片顯示出來

C++ OpenCV如何實現模糊圖像


均值模糊

C++ OpenCV如何實現模糊圖像

增加一個函數blur()

C++ OpenCV如何實現模糊圖像

然后運行效果

C++ OpenCV如何實現模糊圖像


高斯模糊

C++ OpenCV如何實現模糊圖像

我們增加一個方法GaussianBlur()

C++ OpenCV如何實現模糊圖像

我們把原來的均值模糊size改為9*9, 高斯模糊也用9*9,然后都顯示出來的效果

C++ OpenCV如何實現模糊圖像

最后邊的是高斯模糊,圖片上看不是非常清楚,其實如果仔細看對看出對比來,右邊的高斯模糊輪廓能明顯一些.


中值模糊

  • 中值是統計排序的濾波囂

  • 中值對椒鹽噪聲有很好的抑制作用

C++ OpenCV如何實現模糊圖像

中值模糊API

medianBlur(Mat src,Mat dst,ksize)

ksize大小必須是大于1而且必須是奇數

我們增加一個方法medianBlur()

C++ OpenCV如何實現模糊圖像

我們把ksize設為9,然后看顯示出來效果

C++ OpenCV如何實現模糊圖像

可以看出來最右邊是我們的中值模糊,整體模糊的比較平均.


雙邊模糊

雙邊模糊的特點:

  • 均值模糊無法克服邊緣像素信息丟失缺陷,原因是均值濾波是基于平均權重.

  • 高斯模糊部分克服了該缺陷,但是無法完全避免,因為沒有考慮像素值的不同.

  • 高斯雙邊模糊,是邊緣保留的濾波方法,避免了邊緣信息丟失,保留了圖像輪廓不變.

雙邊模糊的API

bilateralFilter(src,dst,d=15,150,3); 

  • 15--計算的半徑,半徑之內的像數都會被納入計算,如果提供-1,則根據sigma space的參數取值.

  • 150--sigma color,決定多少差值之內的像素會被計算

  • 3--sigma space,如果d的值大于0則聲明無效,否則根據它來計算d值

我們增加一個方法bilateralFilter()

C++ OpenCV如何實現模糊圖像

因為我們的原圖色差不大,所以我們把值調的大了一點,然后我們看看效果

C++ OpenCV如何實現模糊圖像

可以看到基本樣子沒變,只是把標紅框的地方模糊了一下,輪廓還是非常明顯的

放大一點看一下

C++ OpenCV如何實現模糊圖像

感謝你能夠認真閱讀完這篇文章,希望小編分享的“C++ OpenCV如何實現模糊圖像”這篇文章對大家有幫助,同時也希望大家多多支持億速云,關注億速云行業資訊頻道,更多相關知識等著你來學習!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

广平县| 旬阳县| 芜湖市| 双牌县| 应城市| 南丹县| 新河县| 旬阳县| 涟水县| 北川| 东安县| 洛川县| 石家庄市| 临夏市| 泽州县| 上饶市| 疏附县| 登封市| 古蔺县| 全州县| 平安县| 台南县| 景洪市| 堆龙德庆县| 富阳市| 布尔津县| 石河子市| 昭通市| 龙州县| 松原市| 绿春县| 修武县| 通州区| 新平| 萨迦县| 丰顺县| 望奎县| 疏勒县| 鹰潭市| 如皋市| 馆陶县|