- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
数字图像上机报告
实验内容:
四点平滑、八点平滑、中值滤波、直方图均匀化、线性变换
实验目的:
1、四点平滑、八点平滑:去除高斯噪声,使图像平滑,缺点是会使图像模糊,模糊程度与领域半径成正比丢失边沿。
2、中值滤波:去除图像中的椒盐噪声,平滑图像,同样会使图像模糊,丢失边缘。
编程思想:
1、四点平滑:
f(i, j) —— 表示(i, j)点的实际灰度值
g(i, j) —— 变换后输出图象(i, j)点的实际灰度值
以(i, j)点为中心取其上下左右四个像素点的灰度值和点(i, j)取平均,将均值赋给g(i, j)作为输出灰度值。
2、八点平滑:
f(i, j) —— 表示(i, j)点的实际灰度值
g(i, j) —— 变换后输出图象(i, j)点的实际灰度值
以(i, j)点为中心取一个N×N的窗口(N = 3,5,7,…八点滤波时N=3),窗口内象素组成的点集以A来表示,经邻域平均法滤波后,平滑后g(i, j)的值为九个像素点的灰度值值和。
3、中值滤波:取以(i, j)点为中心取一个N×N的窗口(N = 3,5,7,…),对窗口内的所有像素点的像素值进行排序,去中值作为该点的输出灰度值。取合理的邻近像素值来替代噪声点,所以只适合于椒盐噪声的去除(去椒盐噪声比超限像素平均分更有效),不适合高斯噪声的去除。在滤除随机噪声时,中值滤波要比均值滤波效果弱。
代码及实现效果
四点平滑:
代码:
clear
close all
h=imread(che.jpg); %读入彩色图片
c=rgb2gray(h); %把彩色图片转化成灰度图片,256级
figure,imshow(c),title(原始图象); %显示原始图象
g=imnoise(c,gaussian,0.01,0.002); %加入高斯噪声
figure,imshow(g),title(加入高斯噪声之后的图象);
p=size(g); %输入图像是p×q的,且pn,qn
x1=double(g);
x2=x1;
for i=2:p(1)-2
for j=2:p(2)-2
%c=x1(i:i+(n-1),j:j+(n-1)).*a; %取出x1中从(i,j)开始的n行n列元素与模板相乘
s=x1(i,j)+x1(i-1,j)+x1(i+1,j)+x1(i,j+1)+x1(i,j-1); %求c矩阵(即模板)中各元素之和
x2(i,j)=s/5; %将模板各元素的均值赋给模板中心位置的元素
end
end
%未被赋值的元素取原值
d=uint8(x2);
figure,imshow(d),title(滤波后);
八点平滑:
代码:
clear
close all
h=imread(che.jpg); %读入彩色图片
c=rgb2gray(h); %把彩色图片转化成灰度图片,256级
figure,imshow(c),title(原始图象); %显示原始图象
g=imnoise(c,gaussian,0.01,0.002); %加入高斯噪声
figure,imshow(g),title(加入高斯噪声之后的图象);
n=input(请输入均值滤波器模板大小\n);
a(1:n,1:n)=1; %a即n×n模板,元素全是1
p=size(g); %输入图像是p×q的,且pn,qn
x1=double(g);
x2=x1;
for i=1:p(1)-n+1
for j=1:p(2)-n+1
c=x1(i:i+(n-1),j:j+(n-1)).*a; %取出x1中从(i,j)开始的n行n列元素与模板相乘
s=sum(sum(c)); %求c矩阵(即模板)中各元素之和
x2(i+(n-1)/2,j+(n-1)/2)=s/(n*n); %将模板各元素的均值赋给模板中心位置的元素
end
end
d=uint8(x2);
figure,imshow(d),title(滤波后);
中值滤波
代码:
clear
close all
h=imread(che.jpg); %读入彩色图片
c=rgb2gray(h); %把彩色图片转化成灰度图片,256级
figure,imshow(c),title(原始图象); %显示原始图象
g=imnoise(c,salt pepper,0.04);%加椒盐噪声
figure,imshow(g),title(加入高斯噪声之后的图象);
n=input(请输入均值滤波器模板大小\n);
a(1:n,1:n
文档评论(0)