数字图像处理实验报告

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

数字图像处理实验

报告

学生姓名:学号:

专业年级: 09级电子信息工程二

实验一常用MATLAB图像处理命令

一、实验内容

1、读入一幅RGB图像,变换为灰度图像和二值图像,并在同一个窗口内分成三个子窗口来分别显示RGB图像和灰度图像,注上文字标题。

实验结果如右图:

代码如下:

Subplot (1,3,1)

i=imread('E:\数字图像处理\2.jpg')

imshow(i)

title('RGB')

Subplot (1,3,2)

j=rgb2gray(i)

imshow(j)

title('灰度')

Subplot (1,3,3)

k=im2bw(j,0.5)

imshow(k)

title('二值')

2、对两幅不同图像执行加、减、乘、除操作,在同一个窗口内分成五个子窗口来分别显示,注上文字标题。

实验结果如右图:

代码如下:

Subplot (3,2,1)

i=imread('E:\数字图像处理\16.jpg') x=imresize(i,[250,320])

imshow(x)

title('原图x')

Subplot (3,2,2)

j=imread(''E:\数字图像处理\17.jpg') y=imresize(j,[250,320])

imshow(y)

title('原图y')

Subplot (3,2,3)

z=imadd(x,y)

imshow(z)

title('相加结果');Subplot (3,2,4);z=imsubtract(x,y);imshow(z);title('相减结果')

Subplot (3,2,5);z=immultiply(x,y);imshow(z);title('相乘结果')

Subplot (3,2,6);z=imdivide(x,y);imshow(z);title('相除结果')

3、对一幅图像进行灰度变化,实现图像变亮、变暗和负片效果,在同一个窗口内分成四个子窗口来分别显示,注上文字标题。

实验结果如右图:

代码如下:

Subplot (2,2,1)

i=imread('E:\数字图像处理\23.jpg') imshow(i)

title('原图')

Subplot (2,2,2)

J = imadjust(i,[],[],3);

imshow(J)

title('变暗')

Subplot (2,2,3)

J = imadjust(i,[],[],0.4)

imshow(J)

title('变亮')

Subplot (2,2,4)

J=255-i

Imshow(J)

title('变负')

二、实验总结

分析图像的代数运算结果,分别陈述图像的加、减、乘、除运算可能的应用领域。

解答:图像减运算与图像加运算的原理和用法类似,同样要求两幅图像X、Y 的大小类型相同,但是图像减运算imsubtract()有可能导致结果中出现负数,此时系统将负数统一置为零,即为黑色。

乘运算实际上是对两幅原始图像X、Y对应的像素点进行点乘(X.*Y),将结果输出到矩阵Z中,若乘以一个常数,将改变图像的亮度:若常数值大于1,则乘运算后的图像将会变亮;叵常数值小于是,则图像将会会暗。可用来改变图像的灰度级,实现灰度级变换,也可以用来遮住图像的某些部分,其典型应用是用于获得掩膜图像。

除运算操作与乘运算操作互为逆运算,就是对两幅图像的对应像素点进行点(X./Y), imdivide()同样可以通过除以一个常数来改变原始图像的亮度,可用来改变图像的灰度级,其典型运用是比值图像处理。

加法运算的一个重要应用是对同一场景的多幅图像求平均值

减法运算常用于检测变化及运动的物体,图像相减运算又称为图像差分运算,差分运算还可以用于消除图像背景,用于混合图像的分离。

实验二图像基本操作

一、实验内容

1.调试运行8倍减采样程序,分析程序,对每条语句给出注释,并显示最终执行结果。

1、调试运行8倍减采样程序,分析程序,对每条语句给出注释,并显示最终执行结果。

a=imread(‘F:\3.jpg’);%读取图片

b=rgb2gray(a);%变为灰度图像

[wid,hei]=size(b);%改变图片大小

quartimg=zeros(wid/2+1,hei/2+1);

i1=1;

j1=1;

for i=1:2:wid

for j=1:2:hei

quartimg(i1,j1)=b(i,j) ;

j1=j1+1;

end

i1=i1+1;

j1=1;

end

figure

imshow(uint8(quartimg)) %显示输出图像

2、显示一幅灰度图像a,改变图像亮度使其整体变暗得到图像b,显示两幅

图像的直方图

Subplot (1,2,1);a=imread('E:\数字图像处理实验\数字图像处理\20.jpg');

imshow(a);title('a');Subplot (1,2,2);b= imadjust(a,[],[],3);

title('b')

显示直方图程序:

相关文档
最新文档