数字图像处理实验讲义Word下载.docx

上传人:b****5 文档编号:16031222 上传时间:2022-11-17 格式:DOCX 页数:25 大小:88.12KB
下载 相关 举报
数字图像处理实验讲义Word下载.docx_第1页
第1页 / 共25页
数字图像处理实验讲义Word下载.docx_第2页
第2页 / 共25页
数字图像处理实验讲义Word下载.docx_第3页
第3页 / 共25页
数字图像处理实验讲义Word下载.docx_第4页
第4页 / 共25页
数字图像处理实验讲义Word下载.docx_第5页
第5页 / 共25页
点击查看更多>>
下载资源
资源描述

数字图像处理实验讲义Word下载.docx

《数字图像处理实验讲义Word下载.docx》由会员分享,可在线阅读,更多相关《数字图像处理实验讲义Word下载.docx(25页珍藏版)》请在冰豆网上搜索。

数字图像处理实验讲义Word下载.docx

imwrite(f,‘filename’)

使用函数size可以察看图像大小,size的语法为

size()

使用函数imfinfo可以察看图像信息,imfinfo的语法为

imfinfofilename

使用函数imshow可以显示图像缩略图,imshow的语法为

imshow()

使用函数imview可以显示图像原图,imview的语法为,不同的是imview是一个工具,可以完成一些基本的图像操作

imview()

使用函数figure可以开辟一个新的窗口,figure的语法为

figure,imshow()

figure,imview()

figure,plot()

…………………

使用数据类型转换函数可以转换图像数据类型,如

im2uint8()------------------convertimagetouint8

im2uint16()----------------convertimagetouint16

mat2gray()-----------------convertimagetodouble,range[0,1]

im2double()----------------convertimagetodouble

im2bw()---------------------convertimagetological

5.实验过程

使用函数imread打开一幅灰度图像(fig0309abc.jpg),使用函数imwrite将图像另存为不同的文件名;

在此过程中观察图像矩阵的形式,并用图像矩阵的索引法,观察并记录5×

5的矩阵片断;

使用函数size察看图像大小,使用函数imfinfo察看图像信息;

记录图像信息;

分别使用函数imshow和函数imview显示图像;

记录两种方式的区别;

使用函数imread打开一幅彩色图像(start.jpg),观察图像矩阵的形式;

并分别观察和记录RGB三色5×

使用函数rgb2gray将彩色图像转换为灰度图像;

使用im2uint8和im2double转换图像的数据类型,记录5×

5矩阵片断在转换前后的变化。

 

实验2图像点运算

1.实验要求

图像灰度变换方法;

灰度的对数扩展法;

绘制灰度直方图;

直方图均衡法;

任意灰度变换实现;

2.实验类型验证型

3.实验时间2学时

4.实验方法

使用函数imadjust可以实现图像灰度变换,imadjust的语法为

imadjust(f,[low_inhigh_in],[low_outhigh_out],gamma)

gamma所表示的意义:

>

1----------凹曲线

<

1----------凸曲线

=1----------直线

灰度的对数扩展法g=c*log(1+double(f))

目的是使亮区域得到抑制,暗区域灰度得到均匀增强

使用语句

im2uint8(mat2gray(log(1+double(f))))

其中系数c通过mat2gray函数自动调整

灰度直方图反映图像的灰度分布情况,即亮度分布情况;

它说明不同灰度的像素个数或分布概率

使用函数imhist绘制灰度直方图,imhist的语法为

h=imhist(f);

figure,imhist(f);

figure,plot(h);

figure,stem(h);

figure,bar(h);

由于拍摄和处理的原因,导致图像的灰度分布范围过小;

最大熵原理指出:

数据满足均匀分布时,信息量最大;

依据这个原理,通过灰度直方图均衡化将图像灰度分布扩展到整个灰度分布范围,可以使图形信息量最大,即使使得图像对比度增强。

使用函数histeq对图像进行直方图均衡,histeq的语法为

g=histeq(f,nlev);

%nlev为输出的灰度级数,通常取256,默认64

figure,imhist(g);

任意灰度变换需要进行分段计算,如图1

α*f,0≤f<a;

g=β*(f-a)+ga,a≤f<b;

γ*(f-b)+gb,b≤f≤c;

5.实验过程

使用函数imread打开一幅灰度图像(fig0222b.jpg),使用函数imadjust实现图像灰度变换;

分别使用:

g1=imadjust(f,[20255],[0255],0.5);

g2=imadjust(f,[20255],[0255],1);

g3=imadjust(f,[20255],[0255],2);

g4=imadjust(f,[0255],[25505],1);

figure,imshow(g1);

figure,imshow(g2);

figure,imshow(g3);

figure,imshow(g4);

观察并记录四种变换差别。

(注意:

请将方括号内的整数需要手工折算成浮点数)

使用函数imread打开一幅灰度图像(fig0305.tif),使用如下语句进行对数扩展

figure,imshow(f2);

g5=im2uint8(mat2gray(log(1+double(f2))));

figure,imshow(g5);

观察并记录均衡前后的差别。

使用函数imread打开一幅灰度图像(fig0222b.jpg),使用函数imhist绘制灰度直方图,直方图有四种表现形式

h=imhist(f3);

figure,imhist(f3);

观察四种直方图的差别。

使用函数imread打开一幅灰度图像(fig0308.tif),说明这幅图像直方图存在的问题。

使用函数histeq对图像进行直方图均衡,比较并记录均衡前后图像的变化

h1=histeq(f3,256);

figure,imhist(h1);

figure,imshow(f3);

figure,imshow(h1);

打开一幅灰度图像(fig0309abc.jpg),编写一个m文件完成图2的灰度变换功能,观察并记录图像变换前后的区别,将程序记录

图2

实验3图像间的运算

图像加法;

图像减法;

图像乘法;

图像除法;

图像与或非等逻辑运算;

图像加法是把图像叠加在一起的操作,使用函数imadd将两幅图像相加。

f1=imread('

Fig0206a.tif'

);

%读入图像

f2=imread('

Fig0207.tif'

f3=imadd(f1,f2);

figure,imshow(f3);

图像减法是从一幅图像中减去另一幅图像,经常被用作检测两幅图像的差别,使用函数imsubtract将两幅图像相减。

下面的操作是根据一幅原始图像,生成其背景亮度图像,然后再从原图像中减去背景亮度图像,从而得到结果。

f4=imread('

Fig0404.jpg'

bkgrd=imopen(f4,strel('

disk'

15));

f5=imsubtract(f4,bkgrd);

figure,subplot(1,2,1),imshow(f4);

subplot(1,2,2),imshow(f5);

图像乘法将两幅图像对应点的像素进行相乘操作(MATLAB的点乘),使用函数immultiply对两幅图像进行乘法操作,并将相乘的结果作为输出图像对应点的像素值。

f6=imread('

f7=imread('

Fig0207.tif'

f8=immultiply(f6,f7);

%两幅图像相乘

f9=immultiply(f6,1.2);

%图像和一个系数相乘,等于将灰度乘以一个系数

figure,subplot(2,2,1),imshow(f6);

subplot(2,2,2),imshow(f7);

subplot(2,2,3),imshow(f8);

subplot(2,2,4),imshow(f9);

图像除法将两幅图像对应点的像素进行相除操作(MATLAB的点除),使用函数imdivide对两幅图像进行除法操作,并将相除的结果作为输出图像对应点的像素值。

f10=imread('

Fig0206a.tif'

f11=imread('

f12=double(f11);

f13=f12*0.2+50;

f14=uint8(f13);

f15=imdivide(f10,f14);

figure,imshow(f15);

图像间的逻辑运算主要有“与”、“或”、“非”等,把它们组合起来可以构成其他逻辑运算。

当我们对灰度级进行逻辑操作时,像素值作为一个二进制数来处理,逻辑操作按位进行。

“与”和“或”运算通常用作模板,即通过这些操作可以从一幅图像中提取子图像,更加突出子图像的内容。

下面的“与”和“或”运算通过逐点进行。

f=imread('

fig0222b.jpg'

[m,n]=size(f);

figure,subplot(2,3,1),imshow(f);

f1=zeros(m,n);

f1(20:

150,70:

170)=255;

f1=uint8(f1);

subplot(2,3,2),imshow(f1);

fori=1:

m

forj=1:

n

f2(i,j)=bitand(f(i,j),f1(i,j));

end

end

subplot(2,3,3),imshow(f2);

%显示“与”的结果

f3=ones(m,n)*255;

f3(20:

170)=0;

f3=uint8(f3);

subplot(2,3,5),imshow(f3);

f4(i,j)=bitor(f(i,j),f3(i,j));

subplot(2,3,6),imshow(f4);

%显示“或”的结果

forj=1

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 表格模板 > 表格类模板

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1