数字图像处理实验 实验二

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

实验二MATLAB图像运算一、实验目的

1.了解图像的算术运算在数字图像处理中的初步应用。

2.体会图像算术运算处理的过程和处理前后图像的变化。

二、实验步骤

1.图像的加法运算-imadd

对于两个图像f x,y和 (x,y)的均值有:

g x,y=1

f x,y+

1

(x,y)

推广这个公式为:

g x,y=αf x,y+β (x,y)

其中,α+β=1。这样就可以得到各种图像合成的效果,也可以用于两张图像的衔接。说明:两个示例图像保存在默认路径下,文件名分别为'rice.png'和'cameraman.tif',要求实现下图所示结果。

代码:

I1 = imread('rice.png');

I2 = imread('cameraman.tif');

I3 = imadd(I1, I2,'uint8');

I4 = imadd(I1, I2,'uint16');

subplot(2, 2, 1), imshow(I1), title('Ô-ʼͼÏñ1');

subplot(2, 2, 2), imshow(I2), title('Ô-ʼͼÏñ2');

subplot(2, 2, 3), imshow(I3), title('8λͼÏñÏÔʾ');

subplot(2, 2, 4), imshow(I4), title('16λͼÏñÏÔʾ');

结果截图:

2.图像的减法运算-imsubtract

说明:

背景图像可通过膨胀算法得到background = imopen(I,strel('disk',15));,要求实现下图所示结果。

示例代码如下:

I1 = imread('rice.png');

background = imerode(I1, strel('disk', 15));

rice2 = imsubtract(I1, background);

subplot(2, 2, 1), imshow(I1), title('Ô-ʼͼÏñ');

subplot(2, 2, 2), imshow(background), title('±³¾°Í¼Ïñ');

subplot(2, 2, 3), imshow(rice2), title('´¦ÀíºóµÄͼÏñ');

结果截图:

3.图像的乘法运算-immultiply

说明:示例图像保存在默认路径下,文件名分别为'moon.tif',要求实现下图所示结果(整体亮度增加1.5倍)。

代码如下:

moon = imread('moon.jpg');

moon2 = immultiply(moon, 1.5);

subplot(1, 2, 1), imshow(moon), title('Ô-ʼͼÏñ');

subplot(1, 2, 2), imshow(moon2), title('´¦ÀíºóµÄͼÏñ');

4.图像的除法运算-imdivide

K=imdivide (I,J);

图像的除法通常用于校正成像设备的非线性误差,也可用于检测两张图像间的差别,它给出的相应像素的变化比率,而不是每个像素的绝对差异。

代码如下:

>> I=imread('cameraman.tif');

>> J = double(I);

>> J = J*0.43+90;

>> I2 = uint8(J);

>> Ip = imdivide(I,I2);

>> imshow(Ip,[])

结果

5.图像更的几何运算

Matlab提供了图像大小变化、旋转、错切、删除及反射等图像的几何操作,达到图像的配准和几何校正的目的。

(1)改变图像的大小-imresize

说明:要求将图像大小缩小至原来的一半

代码:

I1 = imread('rice.png');

I2= imresize(I1, 0.5);

结果截图

(2)图像旋转-imrotate

说明:要求将图像逆时针旋转90度

代码:

I1 = imread('cameraman.tif');

I2= imrotate(I1, 90);

结果截图

(3)空间变换

说明:要求对图像进行仿射变换

>> I = imread('cameraman.tif');

tform = maketform('affine',[1 0 0; .5 1 0; 0 0 1]); J = imtransform(I,tform);

imshow(I), figure, imshow(J)

三、思考题

由图像算术运算的运算结果,思考图像减法运算在什么场合上发挥优势?

相关文档
最新文档