图像的灰度变换及代数运算

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

《数字图像处理》实验报告

学院计算机科学与技术学院

年级2013级

专业计算机科学与技术

学号2013434026

姓名__ _ 许林青_____ _____

日期_________2015.10.14____________

实验四图像的灰度变换及代数运算

一、实验目的

1、学习使用Matlab中的图像处理工具箱;

2、使用Matlab中的图像处理工具箱实现图像文件的读、写和显示;

3、使用Matlab中的图像处理工具箱实现获取图像文件的基本信息。

二、实验内容

1、利用Matlab的Help功能,查找并学会使用图像处理工具箱中的如下命令或函数:(1)图像的剪切imcrop()

(2)图像的加imadd()

(3)图像的减imsubtract()

(4)图像的乘immultiply()

(4)图像的除imdivide()

2、编程实现:

(1)读入2幅图像并显示;

>> I=imread('H:\数字图像\图片1.jpg');

subplot(211);

imshow(I)

J=imread('H:\数字图像\图片2.jpg');

subplot(212);

imshow(J);

(2)将2幅图像剪切成相同大小;

I=imread('I:\数字图像\图片1.jpg');

J=imread('I:\数字图像\图片2.jpg');

I1=imcrop(I,[100, 100, 100, 100])

J1=imcrop(J,[100, 100, 100, 100])

figure(1);

subplot(211);

imshow(I1);

subplot(212);

imshow(J1);

h=imadd(I1,J1)

(3)将2幅图像叠加并显示,灰度变换(变暗)后再显示;

I=imread('I:\数字图像\图片1.jpg');

J=imread('I:\数字图像\图片2.jpg');

I1=imcrop(I,[100, 100, 100, 100])

J1=imcrop(J,[100, 100, 100, 100])

figure(1);

subplot(211);

imshow(I1);

subplot(212);

imshow(J1);

h=imadd(I1,J1)

figure(3), imshow(h);

A=rgb2gray(h); imshow(h);

figure,imshow(A)

(4)从叠加图像中恢复原来2幅图像并显示;

I=imread('I:\数字图像\图片1.jpg');

J=imread('I:\数字图像\图片2.jpg');

I1=imcrop(I,[100,100,100,100])

J1=imcrop(J,[100,100,100,100])

K=imadd(I1/2,J1/2);

subplot(221)

imshow(K);

I2=imsubtract(K,J1/2);

subplot(223)

imshow(I2);

J2=imsubtract(K,I1/2)

subplot(224)

imshow(J2)

4、思考:

(1)2幅图像大小不同能否直接相加?

答:不能。

(2)用矩阵加和用imadd()结果是否一样?

答:一样,imadd()函数将相应矩阵X中的元素与相应矩阵 Y 中的元素进行叠加,

返回一个叠加结果作为输出数列 Z 中对应的元素,与矩阵相加相同。但imadd不

支持3张及以上图。

(3)叠加后的图像和2幅原图的颜色一样吗?为什么?

答:不一样,超出255的部分自动处理。

(4)从叠加图像中恢复出的2幅图像和原图比有变化吗?为什么?

答:图像变暗,清晰度降低。

相关文档
最新文档