《实验一matlab图像处理基础及图像灰度变换 - 中南大学信息物理工程学院》由会员分享,可在线阅读,更多相关《实验一matlab图像处理基础及图像灰度变换 - 中南大学信息物理工程学院(4页珍藏版)》请在金锄头文库上搜索。
1、实验一 Matlab 图像处理基础及图像灰度变换一、一、实验目的实验目的了解 Matlab 平台下的图像编程环境,熟悉 Matlab 中的 DIP (Digital Image Processing)工具箱;掌握 Matlab 中图像的表示方法,图像类型、数据 类型的种类及各自的特点,并知道怎样在它们之间进行转换。掌握 Matlab 环境下的一些最基本的图像处理操作,如读图像、写图像、查看图像信息 和格式、尺寸和灰度的伸缩等等;通过实验掌握图像直方图的描绘方法, 加深直方图形状与图像特征间关系间的理解;加深对直方图均衡算法的理 解。二、二、实验内容实验内容1 从硬盘中读取一幅灰度图像;2 显示
2、图像信息,查看图像格式、大小、位深等内容;3 用灰度面积法编写求图像方图的 Matlab 程序,并画图;4 把第 3 步的结果与直接用 Matlab 工具箱中函数 histogram 的结果进行比 较,以衡量第 3 步中程序的正确性。5 对读入的图像进行直方图均衡化,画出处理后的直方图,并比较处理前 后图像效果的变化。三、三、知识要点知识要点1.Matlab6.5 支持的图像图形格式支持的图像图形格式TIFF, JEPG, GIF, BMP, PNG, XWD (X Window Dump),其中 GIF 不支持写。2.与图像处理相关的最基本函数与图像处理相关的最基本函数读:imread; 写
3、:imwrite; 显示:imshow; 信息查看:imfinfo; 3.Matlab6.5 支持的数据类支持的数据类double, unit8, int8, uint16, int16, uint32, int32, single, char (2 bytes per element), logical.4.Matlab6.5 支持的图像类型支持的图像类型Intensity images, binary images, indexed images, RGB image5.数据类及图像类型间的基本转换函数数据类及图像类型间的基本转换函数数据类转换:B = data_class_name(A)
4、; IPT 图像数据类型转换函数:函数名函数名输出图像数据类型输出图像数据类型输入图像数据类型输入图像数据类型im2uint8uint8logical, uint8, uint16, doubleim2uint16uint16logical, uint8, uint16, doublemat2graydouble(0, 1)doubleim2douledoublelogical, uint8, uint16, doubleim2bwlogical logical, uint8, uint16, double四、四、参考程序和参考结果参考程序和参考结果1求灰度直方图求灰度直方图 =% Exper
5、iment 1: calculate the histogram of gray-scale through gray-scale area% function f=imread(J:ebook and code_eximage processingdigital image process2_WoodsDIP using Matlabimage databasedipum_images_ch02dipum_images_ch02Fig0206(a)(rose-original).tif);m,n=size(f);gray_area=zeros(1,256);% compute the are
6、a under certain gray levelfor k=0:255ind = find(f = k);gray_area(k+1) = length(ind);end% compute the histogram by performing the difference for gray_areahist=zeros(1,256);for k=0:254hist(k+1)=gray_area(k+2)-gray_area(k+1);end% normalizationhist=hist/numel(f);subplot(121); imshow(f);subplot(122);stem
7、(1:1:256,hist,.);axis(1 256 0 max(hist);=5010015020025000.010.020.030.040.050.060.070.080.092. 直方图均衡化直方图均衡化f = imread(Fig0308(a)(pollen).tif); subplot(221); imshow(f); title(the orignal image); subplot(222); imhist(f); ylim(auto); g = histeq(f, 256); subplot(223); imshow(g); title(image after equalization); subplot(224); imhist(g); ylim(auto);the orignal image05010015020025000.511.52x 104image after equalization05010015020025000.511.52x 104