实验 图像处理指导书Word下载.docx
《实验 图像处理指导书Word下载.docx》由会员分享,可在线阅读,更多相关《实验 图像处理指导书Word下载.docx(33页珍藏版)》请在冰豆网上搜索。
rgb2ind将RGB图像转换为索引图像
三、思考题
怎样将数据矩阵转换为灰度图像,并映射到柱面上?
四、实验报告要求
写实验报告,并附
(1)-(7)的实验数据及图像。
五、实验步骤
(1)从硬盘读入cameraman.tif图像(用imread函数).
(2)在图形窗口中显示图像(用imageorimshow函数).
(3)在图像旁边显示颜色条(用colorbar函数)..
(4)在柱面上画cameraman图像(用warp函数).
(5)将灰度图像转变为索引图像
(6)将索引图像转变为其他图像
(7)将真彩图像转换为其他图像
六、附参考程序
(1)显示指定灰度范围的图像
I=imread('
D:
\matlab\work\shiyanzhidao\tuxiang\rice.png'
);
imshow(I,[100200]);
title('
显示指定灰度范围的图像'
图1.1显示指定灰度范围的图像
(2)特殊显示图像
imshow(I,20);
按指定的灰度等级显示图像'
colorbar;
[x,y,z]=cylinder;
figure,warp(x,y,z,I);
纹理映射图像'
图1.2特殊显示图像
(3)显示灰度缩放的图像
\matlab\work\shiyanzhidao\tuxiang\moon.tif'
imshow(I);
原始图像'
figure,imagesc(I,[0256]);
colormap(gray);
灰度缩放的图像'
图1.3显示灰度缩放的图像
(4)显示索引图像
[x,map]=imread('
\matlab\work\shiyanzhidao\tuxiang\canoe.tif'
image(x);
显示索引图像'
colormap(map);
图1.4显示索引图像
(5)灰度图像转变为索引图像
[x1,map]=gray2ind(I,6);
x2=grayslice(I,16);
figure,imshow(x1,map);
按指定的灰度级数转变的索引图像'
figure,imshow(x2,hot(16));
按均匀量化等级转换的索引图像'
图1.5灰度图像转变为索引图像
(6)索引图像转变为其他图像
[I,map]=imread('
\matlab\work\shiyanzhidao\tuxiang\trees.tif'
gray=ind2gray(I,map);
RGB=ind2rgb(I,map);
BW=im2bw(I,map,0.2);
figure,imshow(BW);
二值图像'
figure,imshow(gray);
灰度图像'
figure,image(RGB);
真彩图像'
图1.6索引图像转变为其他图像
(7)真彩图像转换为其他图像
newmap=rgb2gray(map);
subplot(2,2,1);
imshow(x,map);
subplot(2,2,2);
imshow(x);
subplot(2,2,3);
imshow(x,newmap);
灰度索引图像'
图1.7真彩图像转换为其他图像
实验二图像直方图变换
1.掌握阈值的选择;
2、熟练掌握相应模块的函数。
3、对于不同的阈值进行直方图的变换。
灰度变换是图像增强的一种重要手段,使图像对比度扩展,图像更加清晰,特征更加明显。
灰度级的直方图给出了一幅图像概貌的描述,通过修改灰度直方图来得到图像增强。
练习图像灰度调整函数imhist、imadjust、histeq、adapthisteq、decorrestretch并进行图像灰度变换。
.
imhist 显示图像直方图
imadjust 将灰度值调整到一个指定的范围.
histeq 直方图均衡化.
adapthisteq有限对比适应性直方图均衡化.
decorrestretch去相关拉伸.
对光照不均的图像rice.tif进行光照校正。
提示:
(1)首先估计图像背景的灰度。
一般是取图像中每个32*32大小的图形块中的最小值作为图像背景的灰度。
(2)将粗略估计出的背静灰度矩阵扩展成和原始图像大小相同的矩阵。
(3)从原始图像中减去前两步计算出的背静灰度矩阵,校正光照的不均匀;
但此操做同时也会导致前景图像变暗。
(4)通过调整图像的灰度校正。
(1)简述灰度直方图均衡化原理
(2)总结在实验中遇到的问题
(3)附
(1)-(4)的实验数据及图像。
五、实验步骤
(1)计算出一幅灰度图像的直方图(用imhist函数)
(2)对输入图像的直方图均衡化、规定化处理(用histeq函数)
(3)对图像对比度的变换(用imadjust函数)。
(4)图像二值化(选取一个域值,将图像变为黑白图像)
(1)计算出一幅灰度图像的直方图
clear;
closeall;
\matlab\work\shiyanzhidao\tuxiang\rice.PNG'
figure;
imshow(I);
imhist(I);
原始图像直方图'
图2.1灰度图像的直方图
(2)对输入图像的直方图均衡化、规定化处理
\matlab\work\shiyanzhidao\tuxiang\tire.tif'
figure,
J1=histeq(I);
imshow(J);
直方图均衡化图像'
subplot(2,2,4);
imhist(J1);
均衡化图像直方图'
J2=adapthisteq(I);
imshow(J2);
有限对比适应性直方图均衡化图像'
imhist(J2);
有限对比适应性均衡化图像直方图'
[J1,T]=histeq(I);
figure,plot((0:
255)/255,T);
title('
均衡化变换曲线'
hgram=0:
255;
J3=histeq(I,hgram);
subplot(1,2,1);
imshow(J3);
直方图规定化图像'
subplot(1,2,2);
imhist(J3);
规定化图像直方图'
图2.2输入图像的直方图均衡化、规定化处理
(3)对图像对比度的变换
[X,map]=imread('
\matlab\work\shiyanzhidao\tuxiang\forest.tif'
I=ind2gray(X,map);
J=imadjust(I,[00.2],[0.51]);
指定调整限制图像'
J1=imadjust(I,stretchlim(I),[01]);
imshow(J1);
自动设置调整限制图像'
J1=imadjust(I,[],[],0.5);
J2=imadjust(I,[],[],1);
J3=imadjust(I,[],[],2);
gamma为0.5的变换'
gamma为1的变换'
gamma为2的变换'
图2.3图像对比度的变换
(4)图像二值化
\matlab\work\shiyanzhidao\tuxiang\pout.tif'
BW=im2bw(I,0.4);
imshow(BW);
imhist(BW);
二值图像直方图'
图2.4图像二值化
(5)思考题参考程序
I1=im2double(I);
bg32=blkproc(I1,[3232],'
min(x(:
))'
bg256=imresize(bg32,[256256],'
bicubic'
imshow(bg256);
背景灰度扩展结果'
d=I1-bg256;
imshow(d);
原始图像减去背景图像'
adjustI=imadjust(d,[0max(d(:
))],[01],1);
imshow(adjustI);
最终处理结果'
图2.5图像光照不均的校正
实验三模板运算
一、实验目的
1、掌握邻域平均模板对图像进行平滑滤波的原理;
2、掌握不同算子对模糊图像进行图像边缘锐化的原理;
3、熟练掌握相应模块的函数。
平滑的目的是模糊和消除噪声,在空域中用模板卷积完成,在频域中用低通滤波器完成。
数字图像中往往存在各种类型的噪声,工具箱提供了多个不同的函数来删除和减少图像中的噪声。
锐化的目的是使模糊的图像变清晰,在空域中用模板卷积完成,在频域中用高通滤波器完成。
工具箱提供了多个不同的函数来进行锐化处理。
练习图像平滑函数filter2、medfilter2、wiener2并进行图像去噪。
练习图像锐化算子laplacian算子、sobel算子、prewitt算子、log算子及函数filter2、fspecial并进行图像锐化。
imnoise 在图像上添加不同种类的噪声
filter2 实现均值滤波器滤波.
medfilter2 实现中值滤波器滤波.
wiener实现wiener滤波.
fspecial创建一个指定的滤波器模板
filter2滤波函数
对含有较少噪声的图像facets.mat进行去噪。
(1)简述图像平滑和低通滤波方法的原理和图像高通滤波和锐化的方法原理。
(3)附
(1)-(7)的实验数据及图像。
(1)加入噪声
(2)利用低通邻域平均模板进行平滑
(3)利用中值滤波进行平滑
(4)利用wiener滤波器进行平滑
(5)创建不同的锐化滤波器
(6)对图像进行锐化
(7)比较各种锐化的效果
(1)不同模板的均值滤波比较
\matlab\work\shiyanzhidao\tuxiang\eight.tif'
J=imnoise(I,'
salt&
pepper'
0.02);
噪声图像'
k1=filter2(fspecial('
average'
3),J)/255;
k2=filter2(fspecial('
5),J)/255;
k3=filter2(fspecial('
7),J)/255;
imshow(k1);
3*3模板均值滤波'
imshow(k2);
5*5模板均值滤波'
imshow(k3);
7*7模板均值滤波'
图3.1不同模板的均值滤波比较
(2)不同模板的中值滤波比较
k1=medfilt2(J,[33]);
k1=medfilt2(J,[55]);
k1=medfilt2(J,[77]);
3*3模板中值滤波'
5*5模板中值滤波'
7*7模板中值滤波'
图3.2不同模板的中值滤波比较
(3)wiener滤波
gaussian'
0,0.005);
k=wiener2(J,[55]);
imshow(k);
wiener滤波图像'
图3.3wiener滤波
(4)不同锐化滤波器锐化效果比较
figure,subplot(2,3,1);
h1=fspecial('
laplacian'
h2=fspecial('
sobel'
h3=fspecial('
prewitt'
h4=fspecial('
log'
k1=filter2(h1,I);
k2=filter2(h2,I);
k3=filter2(h3,I);
k4=filter2(h4,I);
subplot(2,3,2);
laplacian算子滤波'
subplot(2,3,3);
sobel算子滤波'
subplot(2,3,4);
prewitt算子滤波'
subplot(2,3,5);
imshow(k4);
log算子滤波'
图3.4不同锐化滤波器锐化效果比较
实验六形态学变换
1、掌握结构元素选取方法;
2、熟练掌握二值形态学的基本运算函数;
3、理解图像的击中、击不中变换;
4、了解图像细化函数。
练习使用结构元素进行二值形态学的基本运算,使用细化、骨架函数对二值图像进行细化和提取骨架。
strel创建任意大小和形状的STREL对象
imdilate膨胀运算函数
imerode腐蚀运算函数
imopen开运算函数
imclose闭运算函数
imtophat高帽变换
imbothat低帽变换
bwmorph对图像做指定的形态运算函数
检测board.png图像中的微小结构。
(1)对原始图像进行阈值分割,得到图像中微小的物体的图像。
(2)对原始图像进行闭合、开启运算,得到图像中较大的物体的图像。
(3)对第1步、第2步的结果进行与操作,得到结果。
(1)简述图像分割的方法原理,比较不同阈值图像分割的结果。
(1)创建不同的结构元素
(2)对图像进行膨胀运算
(3)对图像进行腐蚀运算
(4)对图像进行开运算
(5)对图像进行闭运算
(6)细化图像,提取骨架
(7)对图像做高帽、低帽变换
(1)基本形态学运算比较
bw=imread('
\matlab\work\shiyanzhidao\tuxiang\circbw.tif'
se=strel('
line'
11,90);
bw21=imdilate(bw,se);
bw22=imerode(bw,se);
bw23=bwmorph(bw,'
open'
bw24=bwmorph(bw,'
close'
subplot(2,3,1);
imshow(bw);
imshow(bw21);
膨胀图像'
imshow(bw22);
腐蚀图像'
imshow(bw23);
开启运算图像'
imshow(bw24);
闭合运算图像'
图6.1基本形态学运算比较
(2)细化图像,提取骨架
\matlab\work\shiyanzhidao\tuxiang\circles.png'
bw21=bwmorph(bw,'
remove'
bw22=bwmorph(bw,'
skel'
inf);
thin'
去除内点图像'
图像骨架'
图像细化'
图6.2细化图像,提取骨架
(3)对图像做高帽、低帽变换
disk'
12);
J1=imtophat(I,se);
J2=imbothat(I,se);
k1=imadjust(J1,stretchlim(J1));
k2=imadjust(J2,stretchlim(J2));
高帽变换图像'
低帽变换图像'
高帽对比