没有合适的资源?快使用搜索试试~ 我知道了~
数字图像处理实验报告-线性灰度变换-图像几何变换-频域图像增强技术-图像分割.pdf
1.该资源内容由用户上传,如若侵权请联系客服进行举报
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
版权申诉
0 下载量 65 浏览量
2022-11-03
09:09:27
上传
评论
收藏 1.61MB PDF 举报
温馨提示
试读
17页
。。。
资源推荐
资源详情
资源评论
线性灰度变换
一、实验目的
1 结合实例学习如何在视频显示程序中增加图像处理算法;
2 理解和掌握图像的线性变换和直方图均衡化的原理和应用;
3 了解平滑处理的算法和用途,学习使用均值滤波、中值滤波和拉普拉斯锐化进行图像
增强处理的程序设计方法;
4 了解噪声模型及对图像添加噪声的基本方法。
二、实验原理
1 灰度线性变换就是将图像中所有点的灰度按照线性灰度变换函数进行变换。
g(x, y) T[ f (x, y)]
0 f (x, y) a
f (x, y)
g(x, y)
[ f (x, y) a] g
a
a f (x, y) b
[ f (x, y) b] g b f (x, y) 255
b
x 1,2,, m, y 1,2,n
2 直方图均衡化通过点运算将输入图像转换为在每一级上都有相等像素点数的输出图
像。按照图像概率密度函数 PDF 的定义:
p
r
(r
k
)
n
k
k 0,1,2,..., L 1
n
k k
通过转换公式获得:
s
k
T (r
k
)
p
r
(r
j
)
j0 j0
n
j
n
k 0,1,2,..., L 1
3 均值(中值)滤波是指在图像上,对待处理的像素给定一个模板,该模板包括了其
周围的临近像素。将模板中的全体像素的均值(中值)来代替原来像素值的方法。
4 拉普拉斯算子如下:
1 1 1
1 8 1
1 1 1
拉普拉斯算子首先将自身与周围的 8 个像素相减,表示自身与周围像素的差异,再将
这个差异加上自身作为新像素的灰度。
三、实验步骤
1 启动 MATLAB 程序,对图像文件分别进行灰度线性变换(参考教材 57 页,例 4.1)、
直方图均衡化(参考教材 64 页,例 4.6)、均值滤波(参考教材 69 页,例 4.9)、中值滤波
(参考教材 73 页,例 4.11)和梯度锐化操作(参考教材76 页,例 4.12)。添加噪声,重复
上述过程观察处理结果。
2 记录和整理实验报告:
对图像文件进行灰度线性变换
(1)对图像 pout.tif,将其小于 30 的灰度值不变,将 30 到 150 的灰度值拉伸到 30 到 200,
同时压缩 150 到 255 的灰度值到 200 到 255 之间。
I=imread('pout.tif');
imshow(I);
I=double(I);
[M,N]=size(I);
for i=1:M
for j=1:N
if I(i,j)<=30
I(i,j)=I(i,j);
elseif I(i,j)<=150
I(i,j)=(200-30)/(150-30)*(I(i,j)-30)+30;
else
I(i,j)=(255-200)/(255-150)*(I(i,j)-150)+200;
end
end
end
figure(2);imshow(uint8(I
(2)对图像 pout.tif 添加高斯噪声后进行灰度值线性变换
J=imread('pout.tif');
I=imnoise(J,'gaussian',0,0.01);
imshow(I);
I=double(I);
[M,N]=size(I);
for i=1:M
for j=1:N
if I(i,j)<=30
I(i,j)=I(i,j);
elseif I(i,j)<=150
I(i,j)=(200-30)/(150-30)*(I(i,j)-30)+30;
else
I(i,j)=(255-200)/(255-150)*(I(i,j)-150)+200;
end
end
end
figure(2);imshow(uint8(I));
对图像文件进行直方图均衡化:
(1)原图
I=imread('circuit.tif');
figure
subplot(221);imshow(I)
subplot(222);imhist(I)
I1=histeq(I);
figure
subplot(221);imshow(I1)
subplot(222);imhist(I1)
(2)加入高斯噪声
J=imread('circuit.tif');
I=imnoise(J,'gaussian',0,0.01);
figure
subplot(221);imshow(I)
subplot(222);imhist(I)
I1=histeq(I);
figure
subplot(221);imshow(I1)
subplot(222);imhist(I1)
均值滤波
(1)原图
I=imread('tire.tif');
[M,N]=size(I);
II1=zeros(M,N);
for i=1:16
II(:,:,i)=imnoise(I,'gaussian',0,0.01);
II1=II1+double(II(:,:,i));
if or(or(i==1,i==4),or(i==8,i==16));
figure;
imshow(uint8(II1/i));
end
end
剩余16页未读,继续阅读
资源评论
不吃鸳鸯锅
- 粉丝: 8283
- 资源: 2万+
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功