亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 學院 > 開發設計 > 正文

圖像處理之每日一練:噪聲的添加和過濾

2019-11-11 04:35:34
字體:
來源:轉載
供稿:網友

總結學習下圖像處理方面基礎知識。

這是第一篇,簡單的介紹下使用OpenCV的三個基本功能:

圖像的讀取圖像的顯示訪問圖像的像素值

然后概述下圖像噪聲的類型,并為圖像添加兩種常見的噪聲:高斯噪聲和椒鹽噪聲。 最后,使用中值濾波和均值濾波來處理帶有噪聲的圖像。

OpenCV基礎

在OpenCV中,完成圖像的輸入輸出以及顯示,只需要以下幾個函數:

namedWindow 創建一個可以通過其名字引用的窗口。第一個參數,設置窗口的name,可以通過name引用該窗口;第二個參數,設置窗口的大小。有以下幾個選擇: - WINDOW_NORMAL or WINDOW_AUTOSIZE 調整窗口的大小以適應圖像,不同的是,使用WINDOW_NORMAL可以手動調整窗口的大??;WINDOW_AUTOSIZE不能調整窗口的大小。 - WINDOW_FREERATIO or WINDOW_KEEPRATIO 改變窗口時是否會保持圖像的ratio不變,沒發現這倆有什么區別。

imshow顯示圖像

imread 讀取圖像數據到Mat中,第一個參數是圖像的文件名;第二個參數是標志,標識怎么處理圖像的色彩。常用的幾個選項: - IMREAD_UNCHANGED 和原圖像保持一直不變 - IMREAD_GRAYSCALE 將圖像轉換為單通道的灰度圖 - IMREAD_COLOR 將圖像轉換為3通道的BGR,默認選項 - IMREAD_REDUCED_GRAYSCALE_2 IMREAD_REDUCED_GRAYSCALE_4 IMREAD_REDUCED_GRAYSCALE_8 單通道灰度圖讀入圖像,并減小圖像的大小。減小的值為1/2,1/4,1/8 - IMREAD_REDUCED_COLOR_2 IMREAD_REDUCED_COLOR_4 IMREAD_REDUCED_COLOR_2 3通道BGR讀入圖像,并減小圖像的大小。減小的值為1/2,1/4,1/8

Mat是OpenCV中最重要的數據結構,在做圖像處理時基本都是對該結構體的操作。Mat由兩部分構成:矩陣頭矩陣數據,矩陣頭較小,創建的每個Mat實例都擁有一個矩陣頭,而矩陣數據通常占有較大的空間,OpenCV中通過引用計數來管理這部分內存空間,當調用賦值運算符和拷貝構造函數時,并不會只復制矩陣頭,并不會復制矩陣數據,只是將其的引用計數加1.例如:

Mat m = imread("img.jpg");Mat a = m; // 賦值運算符Mat b(m); // 拷貝構造函數

上面代碼中的a,bm各自擁有自己的矩陣頭,其引用的數據卻指向同一份。也就是說,修改了其中任意一個,都會影響到其余的兩個。

要想復制矩陣數據,可以調用clonecopyTo這兩個函數

Mat m = imread("img.jpg");Mat f = m.clone();Mat g ;m.copyTo(g);

將圖像讀入到Mat后,有三種方式訪問Mat中的數據: - 通過指針 - 使用迭代器 - 調用at

圖像噪聲

圖像噪聲是圖像在獲取或傳輸的過程中受到隨機信號的干擾,在圖像上出現的一些隨機的、離散的、孤立的像素點,這些點會干擾人眼對圖像信息的分析。圖像的噪聲通常是比較復雜的,很多時候將其看成是多維隨機過程,因而可以借助于隨即過程描述噪聲,即使用概率分布函數和概率密度函數。

圖像的噪聲很多,性質也千差萬別, 可以通過不同的方法給噪聲分類。 按照產生的原因:

外部噪聲內部噪聲

這種分類方法,有助于理解噪聲產生的源頭,但對于降噪算法只能起到原理上的幫組。

噪聲和圖像信號的關系,可以分為:

加性噪聲,加性噪聲和圖像信號強度不相關,這類噪聲可以看著理想無噪聲圖像f和噪聲的和。乘性噪聲,乘性噪聲和圖像信號是相關的,往往隨圖像信號的變化而變化。

而為了分析處理的方便,常常將乘性噪聲近似認為是加性噪聲,而且總是假定信號和噪聲是互相獨立的。

最重要的來了,按照概率密度函數(PDF)分類:

高斯噪聲,高斯噪聲模型經常被用于實踐中。脈沖噪聲(椒鹽噪聲),圖像上一個個點,也可稱為散粒和尖峰噪聲。伽馬噪聲瑞利噪聲指數分布噪聲均勻分布噪聲

這種分類方法,引入了數學模型,對設計過濾算法比較有幫助。

給圖像添加噪聲

按照指定的噪聲類型,生成一個隨機數,然后將這個隨機數加到源像素值上,并將得到的值所放到[0,255]區間即可。

C++11 隨機數發生器

新的隨機數生成器被抽象成了兩個部分:隨機數生成引擎和要生成的隨機數符合的分布。 隨機數引擎有三種: - linear_congruential_engine 線性同余算法 - mersenne_twister_engine 梅森旋轉算法 - subtract_with_carry_engine 帶進位的線性同余算法

第一種最常用,而且速度比較快;第二種號稱最好的偽隨機數生成器

#include <random>std::random_device rd; // 隨機數種子std::mt19937 mt(rd()); // 隨機數引擎std::normal_distribution<> d(5,20); // 高斯分布std::map<int,int> hist;for(int n = 0; n < 10000; n ++) ++hist[std::round(d(mt))]; // 生成符合高斯分布的隨機數

添加圖像噪聲

使用C++的隨機數發生器為圖像添加兩種噪聲:椒鹽噪聲和高斯噪聲。 椒鹽噪聲是圖像中離散分布的白點或者黑點,其代碼如下:

// 添加椒鹽噪聲void addSaltNoise(Mat &m, int num){ // 隨機數產生器 std::random_device rd; //種子 std::mt19937 gen(rd()); // 隨機數引擎 auto cols = m.cols * m.channels(); for (int i = 0; i < num; i++) { auto row = static_cast<int>(gen() % m.rows); auto col = static_cast<int>(gen() % cols); auto p = m.ptr<uchar>(row); p[col++] = 255; p[col++] = 255; p[col] = 255; }}

上述代碼中使用ptr<uchar>()獲取圖像某一行的行首指針,得到行首指針后就可以任意的訪問改行的像素值。

高斯噪聲是一種加性噪聲,為圖像添加高斯噪聲的代碼如下:

// 添加Gussia噪聲// 使用指針訪問void addGaussianNoise(Mat &m, int mu, int sigma){ // 產生高斯分布隨機數發生器 std::random_device rd; std::mt19937 gen(rd()); std::normal_distribution<> d(mu, sigma); auto rows = m.rows; // 行數 auto cols = m.cols * m.channels(); // 列數 for (int i = 0; i < rows; i++) { auto p = m.ptr<uchar>(i); // 取得行首指針 for (int j = 0; j < cols; j++) { auto tmp = p[j] + d(gen); tmp = tmp > 255 ? 255 : tmp; tmp = tmp < 0 ? 0 : tmp; p[j] = tmp; } }}

隨機產生符合高斯分布的隨機數,然后將該值和圖像原有的像素值相加,并將得到的和壓縮到[0,255]區間內。 這里寫圖片描述 左邊是原圖,中間的是添加高斯噪聲后的圖像,最右邊的是添加椒鹽噪聲后的圖像。

使用濾波器去除噪聲

根據噪聲類型的不同,選擇不同的濾波器過濾掉噪聲。通常,對于椒鹽噪聲,選擇中值濾波器(Median Filter),在去掉噪聲的同時,不會模糊圖像;對于高斯噪聲,選擇均值濾波器(Mean Filter),能夠去掉噪聲,但會對圖像造成一定的模糊。 在OpenCV中,對應于均值濾波器的函數是blur,該函數需要5個參數,通常只設置前3個后兩個使用默認值即可。 blur(m, m2, Size(5, 5));第一個參數是輸入的圖像,第二個參數是輸出的圖像,第三個參數是濾波器的大小,這里使用的是5×5的矩形。

對應于中值濾波器的函數是medianBlur(m1, m3, 5);前兩個參數是輸入輸出的圖像,第三個參數是濾波器的大小,由于是選取的是中值,濾波器的大小通常是一個奇數。

下圖是對有噪聲圖像使用濾波器后的結果,中間的是原始圖像,左邊的是使用均值濾波器過濾高斯噪聲后的結果;右邊的是使用中值濾波器過濾椒鹽噪聲后的結果??梢悦黠@的看出,這兩種濾波器都能夠很好的去掉圖像的噪聲,但會對圖像造成一定的模糊,尤其是均值濾波器造成的模糊比較明顯。 這里寫圖片描述

總結

本文算是第一篇文章,簡單的介紹下OpenCV的基本使用;接著訪問圖像中的像素,并借助于C++11的隨機數庫,為圖像添加高斯噪聲和椒鹽噪聲;最后使用中值濾波器和均值濾波器除去圖像,并對結果進行了對比。

以后堅持每日對圖像處理的一些知識進行整理。


上一篇:poj 3080 Blue Jeans

下一篇:產生區間隨機數

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
欧美黑人性视频| 国产欧美精品一区二区三区-老狼| 欧美激情网站在线观看| 伦伦影院午夜日韩欧美限制| 日韩精品免费电影| 欧洲亚洲免费在线| 日韩av影片在线观看| 国产精自产拍久久久久久| 亚洲已满18点击进入在线看片| 亚洲免费精彩视频| 日本高清+成人网在线观看| 日韩精品免费综合视频在线播放| 国产精品日韩欧美综合| 欧美激情亚洲另类| 北条麻妃一区二区三区中文字幕| 91亚洲精品在线观看| 精品在线欧美视频| 精品国偷自产在线| 日本精品性网站在线观看| 久久久久久高潮国产精品视| 国产日韩欧美中文| 57pao国产精品一区| 欧美与欧洲交xxxx免费观看| 久久精品中文字幕一区| 亚洲男女自偷自拍图片另类| 亚洲va欧美va国产综合久久| 中文字幕亚洲情99在线| 亚洲一区二区三区久久| 国产精自产拍久久久久久蜜| 国产精品稀缺呦系列在线| 国产精品影片在线观看| 久久久久久久电影一区| 精品国产一区二区三区久久狼黑人| 免费91麻豆精品国产自产在线观看| 日韩视频欧美视频| 国产在线观看一区二区三区| 96pao国产成视频永久免费| 88xx成人精品| 91在线视频一区| 国产日产亚洲精品| 久久99国产综合精品女同| 欧美电影免费观看| 一区二区三区视频免费| 国产欧美一区二区白浆黑人| 国产视频精品一区二区三区| 欲色天天网综合久久| 亚洲国产欧美一区二区三区久久| 久久久亚洲国产| 亚洲国产高清自拍| 亚洲天堂男人天堂女人天堂| 欧美成年人网站| 夜夜嗨av一区二区三区免费区| 欧美性少妇18aaaa视频| 亚洲欧洲日产国码av系列天堂| 精品一区二区三区三区| 精品久久久久久亚洲精品| 亚洲va久久久噜噜噜| 在线丨暗呦小u女国产精品| 97免费视频在线| 中文字幕av日韩| 久久99久久久久久久噜噜| 亚洲丝袜在线视频| 久久在线精品视频| 精品国产福利视频| 91tv亚洲精品香蕉国产一区7ujn| 红桃视频成人在线观看| 亚洲色图18p| 成人欧美在线视频| 欧美激情按摩在线| 国产精品自拍偷拍视频| 欧美成人精品一区| 亚洲人午夜精品| 亚洲精品国产精品乱码不99按摩| 国产在线精品成人一区二区三区| 日韩国产高清视频在线| 日韩欧美成人免费视频| xvideos亚洲人网站| 久久不射电影网| 亚洲欧洲在线观看| 日本欧美一级片| 91美女高潮出水| 色噜噜狠狠色综合网图区| 亚洲a∨日韩av高清在线观看| 亚洲最新中文字幕| 日本一区二区在线播放| 国产视频亚洲精品| 国产精品久久久久久久av大片| 日韩中文字幕欧美| 欧美野外猛男的大粗鳮| 国产97在线|亚洲| 日本免费一区二区三区视频观看| 日本成熟性欧美| 久久国产精品久久久久久久久久| 国产成人涩涩涩视频在线观看| 色综合91久久精品中文字幕| 国产丝袜一区视频在线观看| 亚洲国产精品久久久久久| 久久久免费高清电视剧观看| 日韩中文字幕在线精品| 在线成人免费网站| 亚洲影院污污.| 日韩精品中文字幕在线| 亚洲欧洲成视频免费观看| 国产精品男女猛烈高潮激情| 日本久久久久久久| 成人在线视频网| 亚洲自拍偷拍一区| 日韩黄色在线免费观看| 国产精品aaaa| 久久久www成人免费精品| 97超碰蝌蚪网人人做人人爽| 国产成人精品视频在线观看| 国产在线视频不卡| 中文字幕无线精品亚洲乱码一区| 欧美精品在线网站| 亚洲自拍偷拍区| 国产精品久久久久久av福利软件| 久久91精品国产| 中文字幕亚洲欧美在线| 欧美人与性动交a欧美精品| 欧美激情精品久久久久| 亚洲欧美激情四射在线日| 国产精品专区一| 97超视频免费观看| 高清视频欧美一级| 正在播放欧美视频| 91视频九色网站| 日韩精品在线影院| 欧美电影在线观看高清| 亚洲自拍偷拍色片视频| 亚洲国产成人精品女人久久久| 日韩中文字幕视频| 日韩小视频在线| 亚洲91精品在线| 日韩电视剧免费观看网站| 欧美另类精品xxxx孕妇| 夜夜嗨av色综合久久久综合网| 91成品人片a无限观看| 九九九久久国产免费| 91视频-88av| 国产精品男人爽免费视频1| 色综合久久中文字幕综合网小说| 在线日韩日本国产亚洲| 日韩国产中文字幕| 亚洲激情小视频| 国产一区二区免费| 久久精品久久久久| 久久av资源网站| 九九综合九九综合| 精品亚洲精品福利线在观看| 日韩成人av网| 国产精品久久久91| 日韩欧美在线看| 少妇激情综合网| 国产日韩欧美自拍| 国产精品久久久久久久久粉嫩av| 久久精品亚洲精品| 成人久久久久久| 欧美精品在线免费| 日韩av片电影专区| 亚洲自拍偷拍在线| 岛国av在线不卡| 国产精品久久久久久久久久三级| 成人亚洲欧美一区二区三区|