数字图像处理实验指导书(2014年版)

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

数字图像处理实验指导书

自动化工程学院

2014年11月试行

实验一数字图像的获取

一.实验目的

1. 熟悉MATLAB软件的操作环境,掌握基本的程序调试方法和简单的编程; 2.学会读出MATLAB目录下图像文件并进行旋转、加亮、取反、多幅图像显示等基本操作。

二.实验内容

1.读取和显示

I=imread(‘rice.png’);%读取图像

imshow(I) ;

2.直方图

在matlab环境中,程序首先读取图像,然后调用直方图函数,设置相关参数,再输出处理后的图像。

I=imread('cameraman.tif');%读取图像

subplot(1,2,1),imshow(I) %输出图像

title('原始图像') %在原始图像中加标题

subplot(1,2,2),imhist(I) %输出原图直方图

title('原始图像直方图') %在原图直方图上加标题

3.加亮

RGB=imread(‘peppers.png’);%读取图像

RGB2=imadd(RGB,50);

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

subplot(2,2,2);imshow(RGB2);

4.取反

I=imread(‘rice.png’);

J=imcomplement(I);

Imshow(J);

5.翻转

I = imread('cameraman.tif');

figure,imshow(I);

theta = 30;

K = imrotate(I,theta); % Try varying the angle, theta.

figure, imshow(K)

6.图片大小

I=imread(‘rice.png’);

[m,n]=size(I)

7.缩放

在matlab环境中,程序首先读取图像,然后调用图像缩放函数,设置相关参数,再输出处理后的图像。

I = imread('cameraman.tif');

figure,imshow(I);

scale = 0.5;

J = imresize(I,scale);

figure,imshow(J);

8.图像二值化操作

I=imread('rice.png');

J=im2bw(I,0.4);

imshow(J)

9.图像合成

(1)图像加运算

i=imread('cameraman.tif')

j=imread('rice.png')

k=imadd(i,j);

imshow(k)

注意:两幅图像的大小和类型必须是相同的。

(2)图像减运算

i=imread('AT3_1m4_01.tif');

j=imread('AT3_1m4_02.tif');

K=imsubtract(i,j);%函数将负值截断为0,显示效果为黑,可用于探查同一场景的多幅图像的变化。

imshow(K)

(3)图像的乘法

两幅图相乘,使用immultiply函数,该函数对两幅图的对应像素进行逐元素的点乘(.*)运算,并将计算结果返回给输出图像的对应像素。

图像与常数相乘是一个常见的图像处理操作,如果常数大于1,结果图像变亮,如果常数小于1,结果图像变暗。一般情况下,图像乘运算比加运算得到的明暗效果更自然。

i=imread('rice.png');

j=immultiply(I,1.2);

imshow(i)

figure

imshow(j)

10.逻辑运算

对于二值图像,可以用MATLAB的逻辑操作符进行逻辑运算。

首先,读入两幅灰度图像rice.png和cameraman.tif,将它们转换为二值图像并显示,指令如下:

i=imread('rice.png');

j=imread('cameraman.tif');

i2=im2bw(i,0.4);

j2=im2bw(j,0.4);

imshow(i2)

figure;

imshow(j2)

用逻辑操作符对上面两图进行与运算、或运算、非运算和异或运算

imshow(i2&j2)

figure

imshow(i2|j2)

figure

imshow(~j2)

figure

imshow(xor(i2,j2))

三.作业及思考题

1.调试2~10题的程序。

2.直方图的概念?

3.结合本次实验思考黑白图和灰度图是否有区别?

实验二中值、均值滤波

一.实验目的

1.学会读出MATLAB目录下图像文件并进行中值、均值滤波等基本操作实现对图像的基本变换;

2.学会直方图和灰度以及图像清晰度之间的关系,并且能熟练掌握如何使图像变清晰;

3. 学会对图像进行傅里叶变换,以及基于三种边缘算子(Sobel、Prewitt、Log)边缘算子的边缘检测技术

二. 实验内容

1 均值滤波

定义:调用图像增强(均值滤波)函数,设置相关参数,再输出处理后的图像。实现:

I = imread('cameraman.tif');%’图片名’

figure,imshow(I);

J=filter2(fspecial(‘average’,3),I)/255;

figure,imshow(J);

2. 中值滤波

定义:中值滤波是对一个滑动窗口内的诸像素灰度值排序,用其中值代替窗口中心象素的原来灰度值,它是一种非线性的图像平滑法,它对脉冲干扰级椒盐噪声的抑制效果好,在抑制随机噪声的同时能有效保护边缘少受模糊。

实现:

I = imread('cameraman.tif');

相关文档
最新文档