专业综合实验指导书

2019-08-31 11:34

专业综合实验指导书

――数字图像处理

(电子信息专业用)

长春工业大学计算机科学与工程学院

数字图像处理课程组

一、目的和意义

专业综合实验旨在将图像处理基础理论论述与软件实践方法相结合,指导学生如何解决图像处理过程中经常遇到的实际问题,提高学生的综合素质。所选择的软件工具来自公认的科学计算方面的引领者MathWorks公司的MATLAB图像处理工具箱,它为数字图像处理提供了一个稳定、宽泛的软件实现平台,其在教育和工业应用中同样占有优势。本书重点强调了图像处理的基本问题的实现,帮助学生巩固对相关理论知识的理解。

二、实验要求

结合图像处理的基本知识,培养学生运用MATLAB软件进行编程并仿真实现,提高软件设计和编程能力。通过分析实验结果,总结及撰写技术分析报告。

三、主要仪器设备及环境

微机Pentium 4 以上,32M以上内存,安装好WINDOWS98以上、MATLAB7.0等有关软件。

四、实验内容

(一) 常规实验项目 1.实验一 图像显示

2.实验二 图像变换 3.实验三 图像增强 4.实验四 图像分割 5.实验五 图像压缩

6.实验六 图像运算与区域处理 (二) 综合设计性实验项目

7.设计一 医学图像边缘检测算法设计

8.设计二 车牌图像处理与识别

实验一 图像显示

一、实验目的

MATLAB的图像处理工具箱提供了多种图像显示和颜色、光照技术。本实验将具体介绍Matlab中用于图像显示、颜色转换的各个函数的具体用法。

二、实验要求

1.学习图像读取、显示及保存方法。 2.学习特殊图像显示技术

3.学习图像颜色模型转换技术

三、实验内容

1.读取图像

使用函数imread可以将图像读入MATLAB环境,imread 的语法为 imread('filename') 其中,filename是一个含有图像文件全名的字符串(包括任何可用的扩展名)。注意,此处的单引号用以界定filename字符串。

如命令行

>>f=imread('d:\\image\\rice.tif');

将TIFF图像rice.tif读入图像数组f。命令行结尾处的分号用于取消输出。若命令行未包含分号,则MATLAB会立即显示该行命令的运算结果。MATLAB桌面工具条上的当前目录窗口会显示MATLAB的当前工作路径。当filename中不包含任何路径信息时,imread会从当前目录中寻找并读取图像文件。

函数size可以给出一幅图像的行数和列数: >>size(f) ans =

256 256

也可使用如下形式自动确定一幅图像的大小: >>[M,N]=size(f);

将返回图像的行数(M)和列数(N)。 2.显示图像

使用函数imshow来显示图像,该函数在显示图像的同时创建了一个图形图像句柄对象,可以通过句柄的一些参数设置显示模式。

例1 显示灰度图像

J=imread('eight.tif');

subplot(121);

imshow(J,[100,200]); %在灰度范围[100,200]内显示图像 subplot(122);

imshow(J,20); %以灰度等级20显示图像

当用imshow显示另一幅图像时,MATLAB会在屏幕上用新图像替换旧图像。为保持第一幅图像并同时显示第二幅图像,可以使用figure函数:

例2 显示二值图像

BW= imread('circles.tif');

imshow(BW) %显示二值图像 figure(2)

imshow(~BW) %显示颜色反转后的二值图像

3.保存图像

使用函数imwrite可以将图像写到磁盘上,该函数的语法为 imwrite(f,'filename')

若filename中不包含路径信息,则imwrite会将文件保存到当前的工作目录中。另一种常见但只适用于JPEG图像的函数语法是

imwrite(f,'filename.jpg','quality',q)

其中,q是一个在0到100之间的整数(由于JPEG压缩,q越小,图像的退化就越严重)。

4.特殊图像显示技术 例3 添加颜色条

I=imread('saturn.tif'); H=[121;000;-1-2-1]; I2=filter2(h,I);

imshow(I2,[]),colorbar

例4 显示多图像序列

mri=uint8(zeros(128,128,1,27)); for frame=1:27

[mri(:,:,:,frame),map]=imread('mri.tif',frame); end

imshow(mri(:,:,:,3),map);

例5 显示多帧图像

mri=uint8(zeros(128,128,1,27)); for frame=1:27

[mri(:,:,:,frame),map]=imread('mri.tif',frame); end

%montage(mri,map);

例6 动画显示

mri=uint8(zeros(128,128,1,27)); for frame=1:27

[mri(:,:,:,frame),map]=imread('mri.tif',frame); end

mov=immovie(mri,map); movie(mov);

练习使用:zoom on, zoom off, imresize, imadjust, subimage, imrotate, imcrop, warp

例7 把真彩色图像映射到柱面上

[x,y,z]=cylinder;

RGB=imread('eight.tif'); warp(x,y,z,RGB);

5.图像颜色转换技术

(1) 褪色函数 imapprox, rgb2ind 例8 图像的褪色

[X,map]=imread('canoe.tif');

[Y,newmap]=imapprox(X,map,20); imshow(X,map)

figure, imshow(Y,newmap)

(2) 练习使用颜色模型转换函数:rgb2hsv, hsv2rgb, ntsc2rgb, rgb2ntsc, rgb2ycbcr, ycbcr2rgb, rgb2gray, im2bw

rgb2hsv 函数—将RGB模型转换为HSV模型。其调用格式如下:

hsvmap=rgb2hsv(rgbmap) 将RGB空间中m×3的色彩表rgbmap转换成HSV色彩空间的颜色映射表hsvmap;

HSV=rgb2hsv(RGB) 将真彩色图像RGB转换为HSV色彩空间中的图像HSV。

rgb2ntsc函数——将RGB模型转换为NTSC模型。其调用格式如下: yiqmap=rgb2ntsc(rgbmap) 将RGB空间中m×3的色彩表rgbmap转换成YIQ色彩空间的颜色映射表yiqmap;

YIQ=rgb2ntsc(RGB) 将真彩色图像RGB转换为YIQ色彩空间中的图像YIQ。

rgb2ycbcr函数——将RGB模型转换为YCbCr模型。其调用格式如下: ycbrmap=rgb2ycbcr(rgbmap) 将RGB空间中的色彩表rgbmap转换成YCbCr空间中的颜色映射表ycbrmap;

Ycbcr=rgb2ycbcr(RGB) 将真彩色图像RGB转换为YCbCr空间中的图像YCbCr。

hsv2rgb函数——将HSV模型转换为RGB模型。其调用格式如下:

rgbmap=hsv2rgb(hsvmap) 将HSV色彩空间的颜色映射表hsvmap转换成RGB空间中的色彩表rgbmap,rgbmap和hsvmap都是m×3的矩阵;

RGB=hsv2rgb(HSV) 表示将HSV色彩空间的图像HSV转换为真彩色图像RGB。

ntsc2rgb函数——将NTSC色彩空间值转换为RGB色彩空间值。其调用格式如下:

rgbmap=ntsc2rgb(yiqmap) 将YIQ空间中m×3的颜色映射表yiqmap转换成RGB空间中的色彩表rgbmap;

RGB=ntsc2rgb(YIQ) 将NTSC色彩空间的图像YIQ转化为真彩色图像RGB。

ycbc2rgb函数——YCbCr模型转换为RGB模型。其调用格式如下:

rgbmap=ycbcr2rgb(ycbcrmap) 将YCbCr色图ycbcrmap转换到RGB色图rgbmap。rgbmap和ycbcrmap都是m×3的数组。

RGB=ycbcr2rgb(YCBCR) 将YCbCr图像YCBCR转换成真彩色图像RGB。

四.撰写技术分析报告(略)


专业综合实验指导书.doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:工程施工类论文终稿样例12

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: