opencv_图像去噪实验.docx

opencv_图像去噪实验.docx

ID:59253732

大小:3.11 MB

页数:18页

时间:2020-09-08

opencv_图像去噪实验.docx_第1页
opencv_图像去噪实验.docx_第2页
opencv_图像去噪实验.docx_第3页
opencv_图像去噪实验.docx_第4页
opencv_图像去噪实验.docx_第5页
资源描述:

《opencv_图像去噪实验.docx》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、实验名称实验4:图像去噪实验目的1、掌握算术均值滤波器、几何均值滤波器、谐波和逆谐波均值滤波器进行图像去噪的算法2、掌握利用中值滤波器进行图像去噪的算法3、掌握自适应中值滤波算法4、掌握自适应局部降低噪声滤波器去噪算法5、掌握彩色图像去噪步骤实验内容1、均值滤波具体内容:利用OpenCV对灰度图像像素进行操作,分别利用算术均值滤波器、几何均值滤波器、谐波和逆谐波均值滤波器进行图像去噪。模板大小为5*5。(注:请分别为图像添加高斯噪声、胡椒噪声、盐噪声和椒盐噪声,并观察滤波效果)2、中值滤波具体内容:利用OpenCV对灰度图像像素进行操作,分别利用5*5和9*9尺寸的模板对图像进行中值滤

2、波。(注:请分别为图像添加胡椒噪声、盐噪声和椒盐噪声,并观察滤波效果)3、自适应均值滤波。具体内容:利用OpenCV对灰度图像像素进行操作,设计自适应局部降低噪声滤波器去噪算法。模板大小7*7(对比该算法的效果和均值滤波器的效果)4、自适应中值滤波具体内容:利用OpenCV对灰度图像像素进行操作,设计自适应中值滤波算法对椒盐图像进行去噪。模板大小7*7(对比中值滤波器的效果)5、彩色图像均值滤波具体内容:利用OpenCV对彩色图像RGB三个通道的像素进行操作,利用算术均值滤波器和几何均值滤波器进行彩色图像去噪。模板大小为5*5。实验完成情况1、实验步骤:先为灰度图像添加高斯噪声、胡椒噪

3、声、盐噪声和椒盐噪声,再分别利用算术均值滤波器、几何均值滤波器、谐波和逆谐波均值滤波器进行图像去噪。模板大小为5*5。核心代码如下:添加各类噪声:IplImage*AddGuassianNoise(IplImage*src)//添加高斯噪声{IplImage*dst=cvCreateImage(cvGetSize(src),src->depth,src->nChannels);IplImage*noise=cvCreateImage(cvGetSize(src),src->depth,src->nChannels);CvRNGrng=cvRNG(-1);cvRandArr(&rng,n

4、oise,CV_RAND_NORMAL,cvScalarAll(0),cvScalarAll(15));cvAdd(src,noise,dst);returndst;}IplImage*AddPepperNoise(IplImage*src)//添加胡椒噪声,随机黑色点{IplImage*dst=cvCreateImage(cvGetSize(src),src->depth,src->nChannels);cvCopy(src,dst);for(intk=0;k<8000;k++){inti=rand()%src->height;intj=rand()%src->width;CvSca

5、lars=cvGet2D(src,i,j);if(src->nChannels==1){s.val[0]=0;}elseif(src->nChannels==3){s.val[0]=0;s.val[1]=0;s.val[2]=0;}cvSet2D(dst,i,j,s);}returndst;}IplImage*AddSaltNoise(IplImage*src)//添加盐噪声,随机白色点{IplImage*dst=cvCreateImage(cvGetSize(src),src->depth,src->nChannels);cvCopy(src,dst);for(intk=0;k<80

6、00;k++){inti=rand()%src->height;intj=rand()%src->width;CvScalars=cvGet2D(src,i,j);if(src->nChannels==1){s.val[0]=255;}elseif(src->nChannels==3){s.val[0]=255;s.val[1]=255;s.val[2]=255;}cvSet2D(dst,i,j,s);}returndst;}IplImage*AddPepperSaltNoise(IplImage*src)//添加椒盐噪声,随机黑白点{IplImage*dst=cvCreateImag

7、e(cvGetSize(src),src->depth,src->nChannels);cvCopy(src,dst);for(intk=0;k<8000;k++){inti=rand()%src->height;intj=rand()%src->width;intm=rand()%2;CvScalars=cvGet2D(src,i,j);if(src->nChannels==1){if(m==0){s.val[0]=255;}else{s.v

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。