日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

数字图像处理——添加高斯噪声椒盐噪声

發布時間:2024/1/23 编程问答 41 豆豆
生活随笔 收集整理的這篇文章主要介紹了 数字图像处理——添加高斯噪声椒盐噪声 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

數字圖像處理——添加高斯噪聲&椒鹽噪聲

本文鏈接:https://blog.csdn.net/u012936765/article/details/53200918

最近交了數圖作業,mark一下。

1.添加高斯噪聲

1.1?概率密度函數

σ為z的標準差,z為均值,用E。

1.2?生成高斯分布隨機數序列

方法由Marsaglia和Bray在1964年提出,C++版本如下: mu是均值,sigma是方差,X服從N(0,1)分布

double generateGaussianNoise(double mu, double sigma) {static double V1, V2, S;static int phase = 0;double X;double U1,U2;if ( phase == 0 ) {do {U1 = (double)rand() / RAND_MAX;U2 = (double)rand() / RAND_MAX;V1 = 2 * U1 - 1;V2 = 2 * U2 - 1;S = V1 * V1 + V2 * V2;} while(S >= 1 || S == 0);X = V1 * sqrt(-2 * log(S) / S);} else{X = V2 * sqrt(-2 * log(S) / S);}phase = 1 - phase;return mu+sigma*X; }

1.3?添加高斯噪聲

高斯噪聲為加性噪聲,在原圖的基礎上加上噪聲即為加噪后的圖象。?
代碼如下:

void AddNoise(Mat img,double mu, double sigma,int k){Mat outImage;outImage.create(img.rows,img.cols,img.type());for(int x=0;x<img.rows;x++){for(int y=0;y<img.cols;y++){double temp = img.at<uchar>(x, y)+k*generateGaussianNoise(mu,sigma);if(temp>PixcelMax)temp=PixcelMax;else if(temp<PixcelMin)temp=PixcelMin;outImage.at<uchar>(x, y) = temp;}}Filter(outImage,Filter::NXBJZ,3,3,1);imshow("Output", outImage);cvWaitKey(0); }

1.4 效果圖

如圖,k為高斯噪聲的系數,系數越大,高斯噪聲越強。

噪聲服從高斯分布,所以方差越大,數據越分散,噪聲也就越多。

均值決定著整個圖像的明亮程度,均值大于0,表示圖像加上一個使自己變亮的噪聲,小 于0,表示圖像加上一個使自己變暗的噪聲。

2.添加椒鹽噪聲

2.1?概率密度函數

2.2?添加椒鹽噪聲

椒鹽噪聲是根據圖像的信噪比,隨機生成一些圖像內的像素位置,并隨機對這些像素點賦值為0或255.

代碼如下:

void AddNoise(Mat img,double SNR ){Mat outImage;outImage.create(img.rows,img.cols,img.type());int SP = img.rows*img.cols;int NP = SP*(1-SNR);outImage = img.clone();for(int i=0; i<NP; i++) {int x = (int)(rand()*1.0/RAND_MAX* (double)img.rows);int y = (int)(rand()*1.0/RAND_MAX* (double)img.cols);int r = rand()%2;if(r){outImage.at<uchar>(x, y)=0;}else{outImage.at<uchar>(x, y)=255;}}Filter(outImage,Filter::NXBJZ,3,3,1);imshow("Output", outImage);cvWaitKey(0); }

其中,SNR為信噪比,利用C++中的rand() 作為隨機函數。

2.3?效果圖

信噪比越小,噪聲越多,信噪比為1時,圖像不含噪聲。 0為胡椒噪聲,255為鹽粒噪聲

3.均值濾波器

3.1?算術均值濾波器

Sx,y為以(x,y)為中心,長為m寬為n的矩形范圍。

3.1.1 濾除高斯噪聲

3.1.2濾除椒鹽噪聲

總結:?
只能在噪聲較少的情況下去除些許噪聲,并且只是平滑了圖像的局部變化,令圖像變得模?
糊。

3.2?幾何均值濾波器

Sx,y為以(x,y)為中心,長為m寬為n的矩形范圍。

3.2.1 濾除高斯噪聲

3.2.2 濾除椒鹽噪聲

總結:?
處理高斯噪聲時,噪聲較少時,效果與算術均值濾波器基本一致。但是噪聲較多時,?
會對灰度值較小的噪聲進行放大,導致圖像出現許多黑點,使圖像變暗。?
處理椒鹽噪聲時,會對胡椒噪聲放大,導致圖像出現許多黑點,而對鹽粒噪聲有較好?
的濾除作用。

3.3?諧波均值濾波器

3.3.1 濾除高斯噪聲

3.3.2濾除椒鹽噪聲

總結:?
與幾何均值濾波器有相似的效果,處理高斯噪聲時,會對灰度值較小的噪聲進行放?
大,導致圖像出現許多黑點,使圖像變暗。?
處理椒鹽噪聲時,會對胡椒噪聲放大,導致圖像出現許多黑點,無法處理胡椒噪聲,?
而對鹽粒噪聲有較好的濾除作用。

3.4?逆諧波均值濾波器

3.4.1 濾除高斯噪聲

3.4.2濾除椒鹽噪聲

總結:?
Q為正時,會對灰度值較大的噪聲進行放大,Q為負時,會對灰度值較小的噪聲進行 放大。?
處理椒鹽噪聲時,Q為正,對胡椒噪聲有較好的濾除作用,Q為負,對鹽粒噪聲有較 好的濾除作用。

代碼如下:

void Filter(Mat img,Filter f,int m,int n,int Q = 0){Mat outImage;outImage.create(img.rows,img.cols,img.type());int h = m/2,w=n/2;for(int x=0;x<img.rows;x++){for(int y=0;y<img.cols;y++){int cnt = 0;if(f== Filter::SSJZ){long double sum = 0;for(int i=x-h;i<=x+h;i++){for(int j=y-w;j<=y+w;j++){if(i<0||i>=img.rows||j<0||j>=img.cols)continue;cnt++;sum+=img.at<uchar>(i, j);}}outImage.at<uchar>(x, y)=sum/cnt;}else if(f== Filter::JHJZ){long double sum = 1;for(int i=x-h;i<=x+h;i++){for(int j=y-w;j<=y+w;j++){if(i<0||i>=img.rows||j<0||j>=img.cols)continue;cnt++;sum*=img.at<uchar>(i, j);}}outImage.at<uchar>(x, y)=pow(sum,1.0/cnt);}else if(f== Filter::XBJZ){long double sum = 0;for(int i=x-h;i<=x+h;i++){for(int j=y-w;j<=y+w;j++){if(i<0||i>=img.rows||j<0||j>=img.cols)continue;cnt++;sum+=1.0/img.at<uchar>(i, j);}}outImage.at<uchar>(x, y)=cnt/sum;}else if(f== Filter::NXBJZ){long double sum1 = 0,sum2 = 0;for(int i=x-h;i<=x+h;i++){for(int j=y-w;j<=y+w;j++){if(i<0||i>=img.rows||j<0||j>=img.cols)continue;cnt++;sum1+=pow(img.at<uchar>(i, j),Q);sum2+=pow(img.at<uchar>(i, j),Q+1);}}outImage.at<uchar>(x, y)=sum2/sum1;}}}imshow("Output", outImage);imwrite("/Users/camellia/desktop/gaussnoise_NXBJZ.jpg", outImage);cvWaitKey(0); }


四種濾波器?
SSJZ——算術均值濾波器?
JHJZ——幾何均值濾波器?
XBJZ——諧波均值濾波器?
NXBJZ——逆諧波均值濾波器

enum Filter{SSJZ,JHJZ,XBJZ,NXBJZ }; int main() {Mat image;image = imread("/Users/camellia/desktop/lena.jpg",0);// 測試圖片路徑if ( !image.data ){printf("No image data \n");return -1;}namedWindow("Display Image", WINDOW_AUTOSIZE );imshow("Display Image", image);imwrite("/Users/camellia/desktop/origin.jpg", image);waitKey(0);// AddNoise(image,0,1,64);AddNoise(image,0.98); // Filter(image,SSJZ,5,5); // Filter(image,JHJZ,5,5); // Filter(image,XBJZ,5,5); // Filter(image,NXBJZ,5,5);return 0; }

總結

以上是生活随笔為你收集整理的数字图像处理——添加高斯噪声椒盐噪声的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 欧美亚洲国产精品 | 亚洲伦理在线视频 | 人人射 | 久久高潮视频 | 一个色在线视频 | 久久精品aⅴ无码中文字字幕重口 | 丰满人妻一区二区三区46 | 手机av在线 | 久久久亚洲欧美 | 九九亚洲 | 欧美久久影院 | 亚洲色图欧美日韩 | 成人在线免费视频 | 久久99精品国产麻豆婷婷洗澡 | 91久久国产综合久久91 | 丰满人妻一区二区三区免费 | 九九精品视频在线 | 丝袜国产视频 | www.爆操| 日本一二三区在线视频 | 玖玖在线免费视频 | 91在线观看视频网站 | 土耳其xxxx性hd极品 | 激情五月色播五月 | 伊人久久五月 | 国产成人免费 | 国产大片一区二区三区 | 男女啪啪软件 | 国产喷潮| 色欲狠狠躁天天躁无码中文字幕 | 美国一级大黄一片免费中文 | 在线观看视频你懂得 | 色性网站 | 国产又爽又黄的激情精品视频 | 日韩免费a | 久久久精品人妻一区二区三区 | 美女扣逼喷水视频 | 亚洲欧洲视频在线观看 | 超碰人人超 | av有码在线| 污污视频网站在线免费观看 | 国产福利99| a级片一区二区 | 黄色片子视频 | 国产精品视频久久久 | 欧美日韩午夜精品 | 欧美视频黄 | 天天操天天玩 | 男人和女人日批视频 | 亚洲色图28p | 欧美高清视频在线观看 | 日韩中文字幕不卡 | 精品无码久久久久 | 99综合视频 | 中国美女洗澡免费看网站 | 欧美精品99久久 | 四虎精品视频 | 99国产精品一区二区 | 亚洲AV成人无码精品久久盆瓶 | 色视频免费 | www.欧美com| 久久久久久久久久久丰满 | 日本中文字幕在线观看 | 三浦惠理子aⅴ一二三区 | 无码人妻精品一区二区 | 一级片视频网站 | 成人国产精品一区 | 天天操天天曰 | 97影院在线午夜 | 日韩区在线| 五十路熟母 | 亚洲视频日韩 | 成人精品视频在线观看 | 一区二区三区欧美在线 | 深夜国产福利 | 精品一区二区在线观看视频 | 日本乱偷人妻中文字幕在线 | 一区二区三区在线观看免费 | 久久久久久久9 | 在线看的网站 | 欧美男女交配视频 | 姑娘第5集在线观看免费 | 国模一区二区 | 亚洲图片视频在线 | 一区二区三区欧美精品 | 制服下的诱惑暮生 | 俄罗斯嫩小性bbwbbw | 久久久久亚洲 | 国产二区精品视频 | 欧美a∨亚洲欧美亚洲 | 国产精品av在线 | 一个人看的www片免费高清中文 | 成人欧美一区二区三区黑人一 | 后宫秀女调教(高h,np) | 国产原创麻豆 | 国模私拍在线观看 | 欧美日本一道 | 国产乱人乱偷精品视频a人人澡 | 少妇1~3伦理 |