数字图像处理实验指导书(2014年版)
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 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');
1
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)
2
(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.结合本次实验思考黑白图和灰度图是否有区别?
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');
4