实验一Matlab图像处理基础及图像灰度变换 - 中南大学信.

合集下载

matlab图像处理实验报告

matlab图像处理实验报告

matlab图像处理实验报告《Matlab图像处理实验报告》摘要:本实验报告通过使用Matlab软件进行图像处理实验,对图像进行了灰度化、二值化、边缘检测、图像增强等处理,通过实验结果分析,验证了Matlab在图像处理领域的实用性和有效性。

1. 实验目的本实验旨在通过Matlab软件进行图像处理实验,掌握图像处理的基本方法和技术,提高对图像处理算法的理解和应用能力。

2. 实验原理图像处理是对图像进行数字化处理的过程,主要包括图像获取、图像预处理、图像增强、图像分割和图像识别等步骤。

Matlab是一种功能强大的科学计算软件,具有丰富的图像处理工具箱,可用于图像的处理、分析和识别。

3. 实验内容(1)图像灰度化首先,通过Matlab读取一幅彩色图像,并将其转换为灰度图像。

利用Matlab 中的rgb2gray函数,将RGB图像转换为灰度图像,实现图像的灰度化处理。

(2)图像二值化接着,对灰度图像进行二值化处理,将图像转换为黑白二值图像。

利用Matlab 中的im2bw函数,根据设定的阈值对灰度图像进行二值化处理,实现图像的二值化处理。

(3)边缘检测然后,对二值图像进行边缘检测处理,提取图像的边缘信息。

利用Matlab中的edge函数,对二值图像进行边缘检测处理,实现图像的边缘检测处理。

(4)图像增强最后,对原始图像进行图像增强处理,改善图像的质量和清晰度。

利用Matlab 中的imadjust函数,对原始图像进行图像增强处理,实现图像的增强处理。

4. 实验结果分析通过实验结果分析,可以发现Matlab在图像处理领域具有较高的实用性和有效性。

通过Matlab软件进行图像处理实验,可以快速、方便地实现图像的处理和分析,提高图像处理的效率和精度,为图像处理技术的研究和应用提供了重要的工具和支持。

5. 结论本实验通过Matlab图像处理实验,掌握了图像处理的基本方法和技术,提高了对图像处理算法的理解和应用能力。

matlab图像处理图像灰度变换直方图变换

matlab图像处理图像灰度变换直方图变换

附录1 课程实验报告格式每个实验项目包括:1)设计思路,2)程序代码,3)实验结果,4)实验中出现的问题及解决方法。

实验一:直方图灰度变换A:读入灰度图像‘debye1.tif’,采用交互式操作,用improfile绘制一条线段的灰度值。

imread('rice.tif');imshow('rice.tif'),title('rice.tif');improfile,title('主对角线上灰度值')B:读入RGB图像‘flowers.tif’,显示所选线段上红、绿、蓝颜色分量的分布imread('flowers.tif');imshow('flowers.tif'),title('flowers.tif');improfile,title('主对角线红绿蓝分量')C:图像灰度变化f=imread('rice.png');imhist(f,256); %显示其直方图g1=imadjust(f,[0 1],[1 0]); %灰度转换,实现明暗转换(负片图像)figure,imshow(g1)%将0.5到0.75的灰度级扩展到范围[0 1]g2=imadjust(f,[0.5 0.75],[0 1]);figure,imshow(g2)图像灰度变换处理实例:g=imread('me.jpg');imshow(g),title('原始图片');h=log(1+double(g)); %对输入图像对数映射变换h=mat2gray(h); %将矩阵h转换为灰度图片h=im2uint8(h); %将灰度图转换为8位图imshow(h),title('转换后的8位图');运行后的结果:实验二:直方图变换A:直方图显示I=imread('cameraman.tif'); %读取图像subplot(1,2,1),imshow(I) %输出图像title('原始图像') %在原始图像中加标题subplot(1,2,2),imhist(I) %输出原图直方图title('原始图像直方图') %在原图直方图上加标题运行结果如下:例子:读入图像‘rice.png’,在一个窗口中显示灰度级n=64,128和256的图像直方图。

MATLAB图像处理之灰度图像

MATLAB图像处理之灰度图像

MATLAB图像处理之灰度图像实验内容一:如何将彩色图像转化为灰度图像实验程序:I=imread('0045.JPG');%导入真彩图片“0046.jpg”,是三维矩阵x=rgb2gray(I);%转化为灰度图像,是二维矩阵figure(1);%第一个图像subplot(1,2,1);%表示本区域内显示1行2列个图像,改图位于第1个位置上imshow(I);%显示彩色图像title('原始图像');%给彩色图像命名subplot(1,2,2);%表示本区域内显示1行2列个图像,改图位于第2个位置上imshow(x);%显示灰度图像title('灰度图像');%命名灰度图像实验结果:实验内容二:如何将真彩图片转换为三个灰度图像,再还原为伪彩图像,并按照下述方式排列实验程序:x1=imread('0045.jpg');%导入真彩图片0046.jpg,是三维矩阵figure(1)%第一个图像subplot(334);%本区域内显示一个3行3列个图像,该图像位于第4个imshow(x1),title('原图像')%显示真彩图像,并命名为“原图像”I=rgb2gray(x1);%转化为灰度图像,是二维矩阵rgb = ind2rgb(gray2ind(I,255),jet(255));%转化为伪彩图像subplot(336);%本区域内显示一个3行3列个图像,该图像位于第6个imshow(rgb);%显示伪彩图title('伪彩')%命名为“伪彩”fR=x1(:,:,1);%提取红色fG=x1(:,:,2);%提取绿色fB=x1(:,:,3);%提取蓝色subplot(3,3,2),imshow(fR),title('灰度r');%本区域内显示3行3列个图像,该图像位于第2个,显示fR图像,命名为“灰度r”subplot(3,3,5),imshow(fG),title('灰度g');%本区域内显示3行3列个图像,该图像位于第5个,显示fG图像,命名为“灰度g”subplot(3,3,8),imshow(fB),title('灰度b');%本区域内显示3行3列个图像,该图像位于第8个,显示fB图像,命名为“灰度b”实验结果:。

数字图像处理实验一 图像的灰度变换

数字图像处理实验一  图像的灰度变换

数字图像处理实验报告(一)班级:测控1002姓名:刘宇学号:06102043实验一图像的灰度变换1. 实验任务熟悉MATLAB软件开发环境,掌握读、写图像的基本方法。

理解图像灰度变换在图像增强的作用,掌握图像的灰度线性变换和非线性变换方法。

掌握绘制灰度直方图的方法,掌握灰度直方图的灰度变换及均衡化的方法。

2. 实验环境及开发工具Windws2000/XPMATLAB 7.x3. 实验原理灰度变换灰度变换是图像增强的一种重要手段,它常用于改变图象的灰度范围及分布,是图象数字化及图象显示的重要工具。

在实际应用中,为了突出图像中感兴趣的研究对象,常常要求局部扩展拉伸某一范围的灰度值,或对不同范围的灰度值进行不同的拉伸处理,即分段线性拉伸:图1.1 不同的分段线性变换其对应的数学表达式为:直方图均衡化灰度直方图的横坐标是灰度级,纵坐标是该灰度级出现的频度,它是图像最基本的统计特征。

依据定义,在离散形式下,用rk 代表离散灰度级,用pr(rk)代表pr(r),并且有下式成立:n n r P kk r =)( 1,,2,1,010-=≤≤l k r k式中:nk 为图像中出现rk 级灰度的像素数,n 是图像像素总数,而nk/n 即为频数。

直方图均衡化处理是以累积分布函数变换法为基础的直方图修正法。

假定变换函数为ωωd p r T s r r)()(0⎰==(a) Lena 图像 (b) Lena 图像的直方图 图1.2 Lena 图像及直方图当灰度级是离散值时,可用频数近似代替概率值,即1,,1,010)(-=≤≤=l k r nn r p k kk r式中:l 是灰度级的总数目,pr(rk)是取第k 级灰度值的概率,nk 是图像中出现第k 级灰度的次数,n 是图像中像素总数。

所以积分可以表示为下列累计分布函数(cumulative distribution function, CDF)1,,1,010)()(00-=≤≤===∑∑==l k r r p nn r T s j kj j r kj j k k4. 实验内容1、熟悉使用MATLAB 语言中对图像数据读取、显示等基本函数:imread()函数、imwrite()函数、imshow()函数、Figure ()函数。

数字图像处理实验 图像生成及取反 图像亮(灰)度变换

数字图像处理实验  图像生成及取反 图像亮(灰)度变换

数字图像处理实验报告实验一图像处理入门实验:图像生成及取反1、【实验目的】了解matlab有关图像的基本操作,如图像的读写,显示等。

熟悉调试环境。

2、【实验步骤】(1)Matlab workspace中生成一幅大小为512×512像素的8位灰度图, 背景为黑色,中心有一个宽40像素高20像素的白色矩形。

(2)将这幅图像保存为文件test.bmp。

•从文件test.bmp中读出图像到变量I。

•在Matlab图形界面中显示变量I所代表的图像。

•将获得的图像的格式分别转换为“*.tif”、“*.jpg”的格式保存,检查图像文件数据量的大小。

•将图片保存或拷贝到MATLAB程序组根目录的“work”文件夹中,以便后面的实验利用。

•将test.bmp 编程取反,观察效果。

3、【实验源码】(1)图像生成B=zeros(512,512)(2) 在图像中生成宽40像素高20像素的白色矩形for i=246:266for j=246:266B(i,j)=1;endend(3)图像保存imwrite(B,'test.bmp')(4)读出图像到变量I并另存为“*.tif”、“*.jpg”的格式e=imread('test.bmp')imshow(e)imwrite(e,'test.tif')imwrite(e,'test.jpg')(5)将test.bmp 编程取反for j=1:512for k=1:512if(i(j,k)==255)i(j,k)=0;elsei(j,k)=255;end;endend4、【实验截图】查看文件大小将test.bmp 编程取反5、【实验小结】(1)通过本次实验,对Matlab软件处理图像的相关功能有了初步了解。

(2)在灰度图像的取反操作中,可以使用双重循环,对每一行每一列的象素值进行更改操作。

实验二图像亮(灰)度变换1、【实验目的】灰度变换是图像增强的一种重要手段,使图像对比度扩展,图像更加清晰,特征更加明显。

实验一Matlab图像处理基础及图像灰度变换 - 中南大学信.

实验一Matlab图像处理基础及图像灰度变换 - 中南大学信.

实验一Matlab图像处理基础及图像灰度变换一、实验目的了解Matlab平台下的图像编程环境,熟悉Matlab中的DIP (Digital Image Processing)工具箱;掌握Matlab中图像的表示方法,图像类型、数据类型的种类及各自的特点,并知道怎样在它们之间进行转换。

掌握Matlab环境下的一些最基本的图像处理操作,如读图像、写图像、查看图像信息和格式、尺寸和灰度的伸缩等等;通过实验掌握图像直方图的描绘方法,加深直方图形状与图像特征间关系间的理解;加深对直方图均衡算法的理解。

二、实验内容1.从硬盘中读取一幅灰度图像;2.显示图像信息,查看图像格式、大小、位深等内容;3.用灰度面积法编写求图像方图的Matlab程序,并画图;4.把第3步的结果与直接用Matlab工具箱中函数histogram的结果进行比较,以衡量第3步中程序的正确性。

5.对读入的图像进行直方图均衡化,画出处理后的直方图,并比较处理前后图像效果的变化。

三、知识要点1.Matlab6.5支持的图像图形格式TIFF, JEPG, GIF, BMP, PNG, XWD (X Window Dump),其中GIF不支持写。

2.与图像处理相关的最基本函数读:imread; 写: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);四、参考程序和参考结果1.求灰度直方图===================================================================== % Experiment 1: calculate the histogram of gray-scale through gray-scale area% functionf=imread('J:\ebook and code_ex\image processing\digital image process2_Woods\DIP usingMatlab\image database\dipum_images_ch02\dipum_images_ch02\Fig0206(a)(rose-original).tif');[m,n]=size(f);gray_area=zeros(1,256);% compute the area 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([1:1:256],hist,'.');axis([1 256 0 max(hist)]);===============================================================================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 image5010015020025004image after equalization5010015020025004。

数字图像处理实验1 MATLAB图像处理编程基础 实验报告

数字图像处理实验1  MATLAB图像处理编程基础 实验报告

实验报告课程名称数字图像处理实验项目MATLAB图像处理编程基础指导教师学院光电信息与通信工程__专业电子信息工程班级/学号学生姓名______ __________实验日期______ _成绩______________________实验1 MATLAB图像处理编程基础一、实验目的1.了解MATLAB产品体系和了解MATLAB图像处理工具箱。

2.掌握MATLAB的基本应用方法。

3.掌握MATLAB图像存储/图像数据类型/图像类型。

4.掌握图像文件的读/写/信息查询。

5.掌握图像显示--显示多幅图像、4种图像类型的显示方法、特殊图像的显示技术6.编程实现图像类型间的转换和图像算术操作。

二、实验的硬件、软件平台硬件:计算机软件:操作系统:Windows XP应用软件:MATLAB 7.0.1三、MATLAB图像处理工具箱的功能图像处理工具箱是一个函数的集合,它扩展了matlab数值计算环境的能力。

这个工具箱支持了大量图像处理操作,包括:空间图像变换 Spatial image transformations形态操作 Morphological operations邻域和块操作 Neighborhood and block operations线性滤波和滤波器设计 Linear filtering and filter design格式变换 Transforms图像分析和增强 Image analysis and enhancement图像登记 Image registration清晰化处理 Deblurring兴趣区处理 Region of interest operations四、说明使用MATLAB进行图像处理所需函数调用步骤在Command Window中,以命令行单句调用某一函数只需写xxx(函数名)xxxxxxx)这样就可以调用了.五、给出MATLAB图像处理工具箱的数据类型和4种基本图像类型工具箱里的函数都是M文件,可以通过type function_name来查看代码,也可以通过写自己的matlab函数来扩展工具箱。

图像灰度化处理 matlab 实验报告

图像灰度化处理 matlab 实验报告

X x通大学数字图像处理与通信课程实验报告班级:实验项目名称:图像灰度化处理实验项目性质:设计性实验实验所属课程:数字图像处理与图像通信实验室(中心):网络实验中心指导教师:实验完成时间: 2012 年 10 月 16 日教师评阅意见:签名:年月日实验成绩:一、实验目的:首先通过实验熟悉matlab、matlab 编程环境以及其基本操作,和对图像的读取、显示、保存等一些操作,增加自己的实际动手能力。

二、实验主要内容及要求:1.熟悉matlab或者C#的编程环境,完成在相关环境下图像的读入、显示、保存等操作;2.完成图像的灰度化处理。

三、实验设备及软件:PC机一台,MATBLAB。

四、设计方案五、主要代码及必要说明f=imread('28.jpg');%读取图像figure(1);imshow(f); %显示图像[n m a]=size(f);%判断图像的大小for x=1:n %通过双循环对图像进行灰度化处理for y=1:mp(x,y)=0.3*f(x,y,1)+0.59*f(x,y,2)+0.11*f(x,y,3);endendfigure(2);imshow(p);%显示处理后的图像imwrite(p,'abc.jpg'); %保存处理后的图像六、测试结果及说明:(1)实验原图:(2)实验结果:七、实验体会:首先通过本次实验,自己对matlab这款软件的基本操作了解同时也学会了对图像的一些基本操作,比如图像的读取、保存、修改,灰度化处理等等一些操作,与此同时学会了在调试的过程当中要注意细节,因为自己对彩色图像处理所以注意是三位数组,以及循环的时候注意结束语语句,实验也增加了自己实际动手能力。

matlab图像处理基础实验,数字图像处理实验报告Matlab图像处理基础

matlab图像处理基础实验,数字图像处理实验报告Matlab图像处理基础

matlab图像处理基础实验,数字图像处理实验报告Matlab图像处理基础《数字图像处理实验报告 Matlab图像处理基础》由会员分享,可在线阅读,更多相关《数字图像处理实验报告 Matlab图像处理基础(27页珍藏版)》请在⼈⼈⽂库⽹上搜索。

1、院系:计算机科学学院专业:计算机科学和技术年级: 2012级课程名称:数字图像处理组号:姓名(学号):指导教师:⾼志荣2015年5⽉25⽇学年2012年度班号1学号专业计算机科学和技术姓名实验名称Matlab图像处理的基础实验室204果实检查眼睛的和要拜托了⼀、实验⽬的:(熟悉Matlab开发环境(掌握Matlab中数字图像读取、显⽰、保存的基本⽅法的使⽤(3)把握不同种类的数字图像间的变换⽅法(4)加深空间分辨率和灰度分辨率对图像显⽰效果的影响(熟悉Matlab中的傅⽴叶变换(基于Matlab的数字图像程序设计⽅法⼆、实验内容:(在Matlab中使⽤imread函数读取1张RGB图像(从实验。

2、素材中任意选择),调查该图像的尺⼨、数据类型信息,将该图像转换为灰度图像并以bmp形式保存。

(使⽤imread函数读取1张灰度图像(从实验素材中任意选择),分别进⾏2个采样、4个采样和8个采样,以相同⼤⼩显⽰原图像和采样后的3张结果图像,⽐较空间分辨率对图像显⽰效果的影响。

(使⽤imread函数读取1张灰度图像(从实验素材中任意选择),分别以5、10、50的间隔将该灰度再次均匀量化,以相同⼤⼩显⽰原图像和再量化后的3张结果图像,⽐较灰度分辨率对图像显⽰效果的影响。

(4)读取⼀张灰度图像,对其进⾏快速傅⽴叶变换,在同⼀窗⼝中显⽰原始的空间区域图像和变换后的频域图像。

三、实验要求:(1)关于具体的。

3、实验内容,分别给出命令(或m⽂书)、输出结果、成因分析、经验总结。

(2)所有⽣成的图像或m⽂件,均须命名。

例如,图n :描述图像信息的*.m⽂件:描述⽂件信息。

matlab图像的灰度变换

matlab图像的灰度变换

matlab图像的灰度变换实验⼆图像的灰度变换⼀、实验⽬的1、理解数字图像处理中点运算的基本作⽤;2、掌握对⽐度调整与灰度直⽅图均衡化的⽅法。

⼆、实验原理1、对⽐度调整如果原图像f (x , y )的灰度范围是[m , M ],我们希望对图像的灰度范围进⾏线性调整,调整后的图像g (x , y )的灰度范围是[n , N ],那么下述变换:[]n m y x f mM n N y x g +---=),(),(就可以实现这⼀要求。

MATLAB 图像处理⼯具箱中提供的imadjust 函数,可以实现上述的线性变换对⽐度调整。

imadjust 函数的语法格式为:J = imadjust(I,[low_in high_in], [low_out high_out])J = imadjust(I, [low_in high_in], [low_out high_out])返回原图像I 经过直⽅图调整后的新图像J ,[low_in high_in]为原图像中要变换的灰度范围,[low_out high_out]指定了变换后的灰度范围,灰度范围可以⽤ [ ] 空矩阵表⽰默认范围,默认值为[0, 1]。

不使⽤imadjust 函数,利⽤matlab 语⾔直接编程也很容易实现灰度图像的对⽐度调整。

但运算的过程中应当注意以下问题,由于我们读出的图像数据⼀般是uint8型,⽽在MATLAB 的矩阵运算中要求所有的运算变量为double 型(双精度型)。

因此读出的图像数据不能直接进⾏运算,必须将图像数据转换成双精度型数据。

2、直⽅图均衡化直⽅图均衡化的⽬的是将原始图像的直⽅图变为均衡分布的形式,即将⼀已知灰度概率密度分布的图像,经过某种变换变成⼀幅具有均匀灰度概率密度分布的新图像,从⽽改善图像的灰度层次。

MATLAB 图像处理⼯具箱中提供的histeq 函数,可以实现直⽅图的均衡化。

三、实验内容及要求1、⽤MATLAB 在⾃建的⽂件夹中建⽴example2.m 程序⽂件。

实验一 图像的灰度变换及直方图均衡化

实验一 图像的灰度变换及直方图均衡化

实验一:图像灰度变换及直方图均衡化实验一、实验目的:1. 掌握灰度直方图的概念及其计算方法;2. 掌握利用图像灰度变换实现对图像的增强处理;3. 掌握利用直方图直方图均衡化和直方图规定化实现对图像的增强处理;4. 熟悉MA TLAB中图像增强的相关函数。

二、实验设备:1. 硬件设备:计算机;2. 软件环境:Windows+Matlab编程与仿真环境;3. 其他设备:记录用的纸、笔,以及U盘等存储设备。

三、实验原理:灰度直方图(histogram)是灰度级的函数,它表示图像中具有每种灰度级的像素的个数,反映图像中每种灰度出现的频率。

一般来说,灰度直方图的横坐标是灰度级,纵坐标是该灰度级出现的概率,是图像的最基本的统计特性。

从概率论的观点来理解,灰度出现的频率可看作其出现的概率,这样直方图就对应于概率密度函数PDF(Probability Density Function),而概率分布函数就是直方图的累积和,即概率密度函数的积分。

1. 直方图均衡化直方图均衡化是通过灰度变换将一幅图像转换另一幅具有均衡直方图,即在每个灰度级上都具有相同的像素点数的过程。

设灰度变换s=T(r)为斜率有限的非减连续可微函数,它将输入图像A(x,y)转换为输出图像B(x,y),输入图像的直方图为H a(r),输出图像的直方图为H b(s),它们的关系如下:图1.1 输入图像和输出图像直方图之间的关系图直方图均衡化的基本思想是把原始图像的直方图变换成均匀分布的形式图像灰度值的动态范围,从而达到了增强图像整体对比度的效果。

具体方法为:①列出原始图像的灰度级Sk, k=0,1…L-1,其中L是灰度级的个数;②统计原始图像各灰度级的像素数目nk;③计算原始图像直方图各灰度级的频率数;④计算原始图像的累计直方图;⑤取整计算;⑥确定映射关系;⑦统计新直方图各个灰度级的像素数目nk;⑧计算新的直方图。

2. 灰度变换灰度变换是图像增强的另一种重要手段,它可使图像动态范围加大,使图像对比度扩展,图像更加清晰,特征更加明显。

图像灰度变换实验报告

图像灰度变换实验报告

实验2a 图像的灰度变换一、实验目的:学会用Matlab软件对图像进行运算和灰度变换。

二、实验内容:用+、-、*、/、imabsdiff、imadd、imcomplment、imdivide、imlincomb、immultiply、imsubtract和imadjust等函数生成各类灰度变换图像。

三、实验相关知识1、代数运算两幅图像之间进行点对点的加、减、乘、除运算后得到输出图像。

我们可以分别使用MA TLAB的基本算术符+、-、*、/来执行图像的算术操作,但是在此之前必须将图像转换为适合进行基本操作的双精度类型(命令函数为double())。

为了更方便对图像进行操作,图像处理工具箱中也包含了一个能够实现所有非稀疏数值数据的算术操作的函数集合。

如下所示:imabsdiff:计算两幅图像的绝对差值imadd:两个图像的加法imcomplment:一个图像的补imdivide:两个图像的除法imlincomb:计算两幅图像的线性组合immultiply:两个图像的乘法imsubtract:两个图像的减法使用图像处理工具箱中的图像代数运算函数无需再进行数据类型间的转换,这些函数能够接受uint8和uint16数据,并返回相同格式的图像结果。

代数运算的结果很容易超出数据类型允许的范围。

图像的代数运算函数使用以下截取规则使运算结果符合数据范围的要求:超出数据范围的整型数据将被截取为数据范围的极值,分数结果将被四舍五入。

2、灰度变换点运算也称为灰度变换,是一种通过对图像中的每个像素值进行运算,从而改善图像显示效果的操作。

对于特定变换函数f的灰度变换,用户可以利用MATLAB强大的矩阵运算能力,对图像数据矩阵调用各种MATLAB计算函数进行处理。

需要注意的是由于MATLAB不支持uint8类型数据的矩阵运算,所以首先要将图像数据转换为双精度类型,计算完成后再将其转换为uint8类型(命令为uint8( ))。

图像处理灰度变换实验

图像处理灰度变换实验

一 . 实验名称: 空间图像增强(一)一. 实验目的1. 熟悉和掌握利用matlab 工具进行数字图像的读、写、显示、像素处理等数字图像处理的基本步骤和流程。

2. 熟练掌握各种空间域图像增强的基本原理及方法。

3. 熟悉通过灰度变换方式进行图像增强的基本原理、方法和实现。

4. 熟悉直方图均衡化的基本原理、方法和实现。

二. 实验原理(一)数字图像的灰度变换灰度变换是图像增强的一种经典而有效的方法。

灰度变换的原理是将图像的每一个像素的灰度值通过一个函数, 对应到另一个灰度值上去从而实现灰度的变换。

常见的灰度变换有线性灰度变换和非线性灰度变换, 其中非线性灰度变换包括对数变换和幂律(伽马)变换等。

1、线性灰度变换1)当图像成像过程曝光不足或过度, 或由于成像设备的非线性和图像记录设备动态范围太窄等因素, 都会产生对比度不足的弊病, 使图像中的细节分辨不清,图像缺少层次。

这时,可将灰度范围进行线性的扩展或压缩, 这种处理过程被称为图像的线性灰度变换。

对灰度图像进行线性灰度变换能将输入图像的灰度值的动态范围按线性关系公式拉伸扩展至指定范围或整个动态范围。

2)令原图像 f(x,y)的灰度范围为 [a,b],线性变换后得到图像 g(x,y),其灰度范围为 [c,d],则线性灰度变换公式可表示为d , f ( x, y) bg(x, y)dc[ f (x, y) a] c, a f ( x, y) b (1)b aac, f ( x, y)由 (1)式可知,对于介于原图像 f(x,y)的最大和最小灰度值之间的灰度值,可通过线性变换公式, 一一对应到灰度范围 [c,d]之间,其斜率为 (d-c)/(b-a);对于小于原图像的最小灰度值或大于原图像的最大灰度值的灰度值, 令其分别恒等于变换后的最小和最大灰度值。

变换示意图如图 1 所示。

图 1 线性灰度变换示意图当斜率大于一时,变换后的灰度值范围得到拉伸,图像对比度得到提高;当斜率小于一时,变换后的灰度值范围被压缩,最小与最大灰度值的差变小,图像对比度降低;当斜率等于一时,相当于对图像不做变换。

数字图像处理实习1—Matlab图像处理初步

数字图像处理实习1—Matlab图像处理初步

实验1——Matlab图像处理初步
实验目的:熟悉Matlab语言关于图像处理的基本操作
实验内容:练习imread、imshow、iminfo、imwrite、subplot、for等命令以及矩阵计算有关命令。

实验要求:
1、读取并显示cameraman.tif图像(提示:imread)。

2、将图像中间的1/3部分(如图)分别作如下处理,其余部分不变
a) 每个像素点的值都乘以2,即f(x,y)=2*f(x,y),显示处理前后的图像(提
示:imshow),同一个图像窗口左右显示(提示:subplot),左边显示原
始图像,右边显示处理后图像,处理后图像保存为cameraman1.bmp(提
示:imwrite)
b) 每个像素点取反色,即f(x,y)=255-f(x,y);显示处理前后的图像,同一个
图像窗口上下显示(提示:subplot),上边显示原始图像,下边显示处理
后图像,处理后图像保存为cameraman2.bmp(提示:imwrite)
3、撰写实验报告并附上所用程序和结果。

f=imread('cameraman.tif');
[m n]=size(f);
g=f;
r=round(m/3);
c=round(n/3);
for i=r:2*r
for j=c:2*c
g(i,j)=2*f(i,j);
end
end
subplot(2,1,1),imshow(f);
subplot(2,1,2),imshow(g);
imwrite(g,'cameraman1.bmp','bmp');
2013-12-16。

MATLAB图像处理命令及图形基本操作实验报告

MATLAB图像处理命令及图形基本操作实验报告

实验(一)常用MATLAB图像处理命令及图形基本操作
end
end
end
for i=1:m
for j=1:n
out(i,j,1)=R(i,j);
% imshow(out)
out(i,j,2)=G(i,j);
out(i,j,3)=B(i,j);
end
end
out=out/256;
figure(1),imshow(out)
%imshow(out)
size(out)
imwrite(out,'PseudoColor.tiff');
end
4、读入一幅RGB图像,变换为灰度图像和二值图像,并在同一个窗口内分成三个子窗口来分别显示RGB图像和灰度图像,注上文字标题。

RGB=imread('f:\1.jpg')
gray = rgb2gray(RGB)
I = im2bw(RGB,0.5)
subplot(3,1,1);imshow(a);title('原图像');
subplot(3,1,2);imshow(i);title('灰度图像');colormap(gray);
subplot(3,1,3);imshow(I);title('二值图像');
实验结果如图所示:
四、实验总结:
Imread 是读入文件的操作代码,subplot是将多个图画到一个平面上的工具本次实验在老师的带领下熟悉了matlab软件的具体操作
通过书写代码,操作程序实现了灰度图像转换为伪彩色图像;
通过书写代码实现了读入一幅RGB图像,并将其变换为灰度图像和二值图像,然后在同一个窗口中显示RGB图像和灰度图像。

数字图像灰度图像二值化实验报告matlab实现1

数字图像灰度图像二值化实验报告matlab实现1

数字图像灰度图像二值化实验报告matlab实现数字图像处理实验报告实验二灰度图像的二值化处理学号姓名日期实验二灰度图像的二值化处理一、实验目的图像二值化是数字图像处理技术中的一项基本技术,二值化图像的显示与打印十分方便,存储与传输也非常容易,在目标识别、图像分析、文本增强、字符识别等领域得到广泛应用。

图像二值化是将灰度图像转化为只有黑白两类像素的图像,大多采用阈值化算法处理。

在不同的应用中,阈值的选取决定着图像特征信息的保留。

因此,图像二值化技术的关键在于如何选取阈值。

二、实验内容1、编程绘制数字图像的直方图。

2、灰度图像二值化处理。

三、实验要求1、自己选择灰度图像。

2、选择多种阈值分割算法,并比较和分析图像二值化处理的结果。

3、使用VC++编程序。

四、设计思想(阈值选取算法)灰度图像是指只含亮度信息,不含色彩信息的图像,将彩色图像转化成为灰度图像的过程称为图像的灰度化处理。

图像的二值化处理就是将图像上的点的灰度置为0或255,也就是使整个图像呈现出明显的黑白效果。

即将256个亮度等级的灰度图像通过适当的阀值选取而获得仍然可以反映图像整体和局部特征的二值化图像。

阀值分割选取算法有:典型的全局阀值算法的Otsu 算法、局部阀值方法中的Bersen算法、灰度拉伸法、直方图方法等等。

1.Otsu算法的设计思想:设阀值将图像分割成两组,一组灰度对应目标,另一组灰度对应背景,则这两组灰度值的类内方差最小,两组的类间方差最大。

对图像设阈值将图像分割成两组,一组灰度对应目标,另一组灰度对应背景,则这两组灰度值的类内方差最小,两组的类间方差最大。

2.Bersen算法的设计思想:把灰度阈值选取为随像素位置变化而变化的函数,它是一种动态选择阈值的自适应方法。

3.灰度拉伸算法设计思想:灰度拉伸又叫对比度拉伸,它是最基本的一种灰度变换,使用的是最简单的分段线性变换函数,它的主要思想是提高图像处理时灰度级的动态范围。

4.直方图算法的设计思想:把原始图像的灰度直方图从比较集中的某个灰度区间变成在全部灰度范围内的均匀分布。

数字图像处理实验报告(图像灰度变换处理)

数字图像处理实验报告(图像灰度变换处理)

数字图像处理实验报告班级:姓名:学号:数字图像处理实验报告一.实验名称:图像灰度变换二.实验目的:1 学会使用Matlab;2 学会用Matlab软件对图像灰度进行变换,感受各种不同的灰度变换方法对最终图像效果的影响。

三.实验原理:Matlab中经常使用的一些图像处理函数:读取图像:img=imread('filename'); //支持TIFF,JPEG,GIF,BMP,PNG,XWD等文件格式。

显示图像:imshow(img,G); //G表示显示该图像的灰度级数,如省略则默认为256。

保存图片:imwrite(img,'filename'); //不支持GIF格式,其他与imread相同。

亮度变换:imadjust(img,[low_in,high_in],[low_out,high_out]); //将low_in至high_in之间的值映射到low_out至high_out之间,low_in 以下及high_in以上归零。

绘制直方图:imhist(img);直方图均衡化:histeq(img,newlevel); //newlevel表示输出图像指定的灰度级数。

像平滑与锐化(空间滤波):w=fspecial('type',parameters);imfilter(img,w); //这两个函数结合将变得十分强大,可以实现photoshop里的任意滤镜。

图像复原:deconvlucy(img,PSF); //可用于图像降噪、去模糊等处理。

四.实验步骤:1.获取实验用图像:Fig3.10(b).jpg. 使用imread函数将图像读入Matlab。

2.产生灰度变换函数T1,使得:0.3r r < 0.35s = 0.105+2.6333(r–0.35) 0.35 ≤ r ≤ 0.65 1+0.3(r–1) r > 0.65用T1对原图像Fig3.10(b).jpg进行处理,打印处理后的新图像。

数字图像处理:图像的灰度变换(Matlab实现)

数字图像处理:图像的灰度变换(Matlab实现)

数字图像处理:图像的灰度变换(Matlab实现)(1)线性变换:通过建⽴灰度映射来调整源图像的灰度。

k>1增强图像的对⽐度;k=1调节图像亮度,通过改变d值达到调节亮度⽬的;0i = imread('theatre.jpg');i = im2double(rgb2gray(i));[m,n]=size(i);%增加对⽐度Fa = 1.25; Fb = 0;O = Fa.*i + Fb/255;figure(1), subplot(221), imshow(O);title('Fa = 1.25, Fb = 0, contrast increasing');figure(2),subplot(221), [H,x]=imhist(O, 64);stem(x, (H/m/n), '.');title('Fa = 1.25, Fb = 0, contrast increasing');%减⼩对⽐度Fa =0.5; Fb = 0;O = Fa.*i + Fb/255;figure(1), subplot(222),imshow(O);title('Fa = 0.5, Fb = 0, contrast decreasing');figure(2), subplot(222), [H,x] = imhist(O, 64);stem(x, (H/m/n), '.');title('Fa = 0.5, Fb = 0, contrast decreasing');%线性亮度增加Fa = 0.5; Fb = 50;O = Fa.*i + Fb/255;figure(1), subplot(223), imshow(O);title('Fa = 0.5, Fb = 50, brightness control');figure(2), subplot(223), [H,x]=imhist(O,64);stem(x, (H/m/n), '.');title('Fa = 0.5, Fb = 50, brightness control');%反相显⽰Fa = -1; Fb = 255;O = Fa.*i + Fb/255;figure(1), subplot(224), imshow(O);title('Fa = -1, Fb = 255, reversal processing');figure(2), subplot(224),[H,x]=imhist(O, 64);stem(x, (H/m/n), '.');title('Fa = -1, Fb = 255, reversal processing');(2)对数变换:增强低灰度,减弱⾼灰度值。

实验一 Matlab_图像处理基本操作

实验一 Matlab_图像处理基本操作

实验一Matlab 图像处理基本操作和付立叶变换一、matlab基本操作1. 显示图像>> I1=imread('D:\图像\LENA.BMP');>> imshow(I1);>> I2=imread('D:\图像\***.BMP');>> imshow(I2);2、检查内存(数组)中的图像:>> whos3、保存图像:>> imwrite(I2,'lena_2G.png'); % 将图像由原先的bmp格式另存为png格式4、多幅图像显示>> I1=imread('D:\图像\LENA.BMP');>> figure //出现图形显示窗口>> subplot(1,2,1),imshow(I1);>> I2=imread('D:\图像\**.BMP');>> subplot(1,2,2),imshow(I2);二、傅里叶变换1.目的:a、理解傅里叶变换的原理b、掌握傅里叶变换的性质2.实验步骤:a. 首先构造一幅黑白二值图像,在128×128的黑色背景中心产生一个4×4的白色方块,对其进行傅里叶变换;(Matlab中用fft2实现2D傅里叶变换)b.把低频分量移到图象中心,而把高频分量移到四个角上;(方法有两种:其一,在FT以前对测试图象逐点加权(-1)^(i+j);其二,利用FFTSHIFT函数);c.利用图象增强中动态范围压缩的方法增强2DFT;(Y=C*log(1+abs(X)));d.构造一幅黑白二值图像,在128×128的黑色背景中令第32行至36行、第32列至第36列的值为1(即产生一个4×4的白色方块),对其进行傅里叶变换;e. 将上图旋转300,再进行傅里叶变换 (imrotate )f. 构造二幅黑白二值图像,在128×128的黑色背景中分别令第60行至68行、第60列至第68列的值为1,第64行至65行、第64列至第65列的值为1产生两幅图像,分别对这两幅图像进行傅里叶变换3、原理分析、技术讨论、回答问题a. 对于第二幅图像(第一步与第四步图像的比较),说明FOURIER 变换具有以下性质:)//(20000),(),(N vy M ux j e v u F y y x x f +-⇔--πb. 对于第三幅图像(第一步与第五步图像的比较),说明FOURIER 变换具有以下性质:θcos r x = θs i n r y = αωc o s =u αωs i n=v ),(),(00θαωθθ+⇔+F r fc. 对于第四幅图像(第一步与第六步图像的比较),说明FOURIER 变换具有以下性质:)/,/(||1),(b v a u F ab by ax f = 4、结果如下六、M文件如下:a=zeros(128,128);a(63:66,63:66)=1;A=fft2(a);b=fftshift(A);for i=1:128for j=1:128B(i,j)=log(1+abs(A(i,j)));endendh=zeros(128,128);h(32:36,32:36)=1;H=fft2(h);h1=imrotate(h,30);H1=fft2(h1);i=zeros(128,128);i(60:68,60:68)=1;I=fft2(i);j=zeros(128);j(64:65,64:65)=1;J=fft2(j);figure;subplot(221),imshow(a);title('原图');subplot(222),imshow(A);title('FT');subplot(223),imshow(b);title('低中高角FT'); subplot(224),imshow(B);title('增强2DFT');figure;subplot(221);imshow(a);title('Step 1原图'); subplot(222);imshow(A);title('Step 1FT'); subplot(223);imshow(h);title('Step 4原图'); subplot(224);imshow(H);title('Step 4FT');figure;subplot(221),imshow(a);title('Step 1原图'); subplot(222),imshow(A);title('Step 1FT'); subplot(223),imshow(h1);title('Step 5原图'); subplot(224),imshow(H1);title('Step 5FT');figure;subplot(321);imshow(a);title('Step 1原图'); subplot(322);imshow(A);title('Step 1FT'); subplot(323),imshow(i);title('Step 6原图1'); subplot(324),imshow(I);title('Step 6原图1FT'); subplot(325),imshow(j);title('Step 6原图2'); subplot(326),imshow(J);title('Step 6原图2FT');。

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

实验一Matlab图像处理基础及图像灰度变换
一、实验目的
了解Matlab平台下的图像编程环境,熟悉Matlab中的DIP (Digital Image Processing)工具箱;掌握Matlab中图像的表示方法,图像类型、数据类型的种类及各自的特点,并知道怎样在它们之间进行转换。

掌握Matlab环境下的一些最基本的图像处理操作,如读图像、写图像、查看图像信息和格式、尺寸和灰度的伸缩等等;通过实验掌握图像直方图的描绘方法,加深直方图形状与图像特征间关系间的理解;加深对直方图均衡算法的理解。

二、实验内容
1.从硬盘中读取一幅灰度图像;
2.显示图像信息,查看图像格式、大小、位深等内容;
3.用灰度面积法编写求图像方图的Matlab程序,并画图;
4.把第3步的结果与直接用Matlab工具箱中函数histogram的结果进行比较,以衡量第3步中程序的正确性。

5.对读入的图像进行直方图均衡化,画出处理后的直方图,并比较处理前后图像效果的变化。

三、知识要点
1.Matlab6.5支持的图像图形格式
TIFF, JEPG, GIF, BMP, PNG, XWD (X Window Dump),其中GIF不支持写。

2.与图像处理相关的最基本函数
读:imread; 写: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 image
5.数据类及图像类型间的基本转换函数
数据类转换:B = data_class_name(A);
四、参考程序和参考结果
1.求灰度直方图
===================================================================== % Experiment 1: calculate the histogram of gray-scale through gray-scale area
% function
f=imread('J:\ebook and code_ex\image processing\digital image process2_Woods\DIP using
Matlab\image database\dipum_images_ch02\dipum_images_ch02\Fig0206(a)(rose-original).tif');
[m,n]=size(f);
gray_area=zeros(1,256);
% compute the area under certain gray level
for k=0:255
ind = find(f == k);
gray_area(k+1) = length(ind);
end
% compute the histogram by performing the difference for gray_area
hist=zeros(1,256);
for k=0:254
hist(k+1)=gray_area(k+2)-gray_area(k+1);
end
% normalization
hist=hist/numel(f);
subplot(121); imshow(f);
subplot(122);stem([1:1:256],hist,'.');
axis([1 256 0 max(hist)]);
===============================================================================
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 image
50
100
150
200
250
04
image after equalization
50
100
150
200
250
04。

相关文档
最新文档