matlab 做函数图像处理,MATLAB对数字图像处理有各种函数支持

在图像采集和生成中会不可避免的引入噪声,图像噪声是指存在于图像数据中的不必要的或多余的干扰信息,这对我们对图像信息的提取造成干扰,所以要进行去噪声处理,常见的去除噪声的方法有均值滤波、中值滤波、高斯滤波等,这一篇要实现的是均值滤波。

均值滤波的方法是将图像数据生成3x3的矩阵或是5x5等其他模板,然后对这个矩阵模板进行处理。在图像上对目标像素给一个模板,该模板包括了其周围的临近像素(以目标象素为中心的周围8个像素,构成一个滤波模板,即去掉目标像素本身),再用模板中的全体像素的平均值来代替原来像素值。说白了就是对这九个数求个平均值代替中间的那个数。在FPGA中我们为了简便运算只将目标像素周围八个点求和然后除以8,取代目标像素点。

df8dcd5c54694c05f8de5953e168660c.png

MATLAB对数字图像处理有各种函数支持,各种滤波和边缘检测都可以之间用几行函数实现,但是博主本着学习算法的基本原理,所以不用函数自己根据滤波原理写代码。本设计是在上一篇RGB转Gray后的灰度图进行滤波处理。

添加噪声污染函数

g=imnoise(I,type,parameters)

g=imnoise(f,'salt&pepper',d)用椒盐噪声污染图像f,其中d是噪声密度(即包括噪声值的图像区域的百分比)。因此,大约有d*numel(f)个像素受到影响。默认的噪声密度为0.05。

本设计只用到了对椒盐噪声的处理,所以仅记录这一种噪声的添加。

均值滤波代码

1%MeanFilter2clc;3clearall;4closeall;56RGB_data=imread('lena.jpg');78R_data=RGB_data(:,:,1);9G_data=RGB_data(:,:,2);10B_data=RGB_data(:,:,3)1112%imshow(RGB_data);1314[ROW,COL,DIM]=size(RGB_data);1516Y_data=zeros(ROW,COL);17Cb_data=zeros(ROW,COL);18Cr_data=zeros(ROW,COL);19Gray_data=RGB_data;2021forr=1:ROW22forc=1:COL23Y_data(r,c)=0.299*R_data(r,c)+0.587*G_data(r,c)+0.114*B_data(r,c);24Cb_data(r,c)=-0.172*R_data(r,c)-0.339*G_data(r,c)+0.511*B_data(r,c)+128;25Cr_data(r,c)=0.511*R_data(r,c)-0.428*G_data(r,c)-0.083*B_data(r,c)+128;26end27end2829Gray_data(:,:,1)=Y_data;30Gray_data(:,:,2)=Y_data;31Gray_data(:,:,3)=Y_data;3233figure;34imshow(Gray_data);3536%GrayMeanFilter3738Gray_data=im2double(Gray_data);39imgn=imnoise(Gray_data,'salt&pepper',0.05);4041%imgn=Gray_data;4243figure;44imshow(imgn);4546forr=2:1:ROW-147forc=2:1:COL-148Mean_Img(r,c)=(imgn(r-1,c-1)+imgn(r-1,c)+imgn(r-1,c+1)+imgn(r,c-1)+imgn(r,c)+imgn(r,c+1)+imgn(r+1,c-1)+imgn(r+1,c)+imgn(r+1,c+1))/9;49end50end5152figure;53imshow(Mean_Img);

处理前后图片结果比较

3f6e4b7c19fefae8b6c3d7f468554a30.png

Graylena

31b05c6a968b7e49073216e0a5f7aa5c.png

Mean_Filterlena

从处理前后的图片中可以看到处理过后的图片变模糊了一些,这是因为均值滤波就是将图像做平滑处理,像素值高的像素会被拉低,像素值低像素会被拉高,趋向于一个平均值,所以图像会变模糊一些。

b92c16f0e414c459b913d04cea94dfaa.png

加入椒盐噪声后的lena

f68c9f555d557a8a0f5d99bef31003d8.png

加入椒盐噪声后Mean_Filterlena

椒盐噪声(salt&peppernoise)是数字图像的一个常见噪声,所谓椒盐,椒就是黑,盐就是白,椒盐噪声就是在图像上随机出现黑色白色的像素。椒盐噪声是一种因为信号脉冲强度引起的噪声。这里可以看出均值滤波对虽然是对图像进行平滑处理,但是对椒盐噪声基本无作用,要对椒盐噪声处理就要用中值滤波了,博主下一篇再接着做。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值