实验一 Matlab图像处理基础及图像灰度变换
图像灰度变换实验报告
图像灰度变换报告一.实验目的1.学会使用Matlab ;2.学会用Matlab 软件对图像进行灰度变换,观察采用各种不同灰度变换发法对最终图像效果的影响;二.实验内容1.熟悉Matlab 中的一些常用处理函数读取图像:img=imread('filename');//支持TIF,JPEG,GIF,BMP,PNG 等文件格式。
显示图像: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 表示输出图像指定的灰度级数。
2.获取实验用图像:rice.jpg. 使用imread 函数将图像读入Matlab 。
3 .产生灰度变换函数T1,使得:0.3rr < 0.35 s =0.105 + 2.6333(r – 0.35) 0.35 ≤ r ≤ 0.651 + 0.3(r – 1) r > 0.65 用T1对原图像rice.jpg 进行处理,使用imwrite 函数保存处理后的新图像。
4.产生灰度变换函数T2,使得:s = 5.用T2imwrite 保存处理后的新图像。
6.分别用 s = r 0.6; s = r 0.4; s = r 0.3 对kids.tiff 图像进行处理。
为简便起见,使用Matlab 中的imadjust 函数,最后用imwrite 保存处理后的新图像。
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的图像直方图。
数字图像处理实验 图像生成及取反 图像亮(灰)度变换
数字图像处理实验报告实验一图像处理入门实验:图像生成及取反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中的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。
数字图像处理 一.实验内容: 图像灰度级线性展宽(灰级窗灰级切片
数字图像处理一.实验内容:图像灰度级线性展宽(灰级窗.灰级切片)灰级图像的灰级动态范围调整(线性.非线性)二.实验目的:学会用Matlab软件对图像灰度进行变换;学会灰级线性展宽的作用。
学会灰动态范围的调整。
三.实验步骤:1.获取实验用图像:使用imread函数将图像读入Matlab。
2.产生灰度变换函数T1,使得:0.3f(m,n) f(m,n) < 90G(m,n)= 27+ 2.6333(f(m,n)-90) 90≤f(m,n)≤166166+ 0.3(f(m,n)– 166) f(m,n)> 1660 f(m,n)<90G(m.n)= 27+ 2.6333(f(m,n)-90) 90<f(m,n)<1660 f(m,n)> 1660 f(m,n)<90G(m,n)= 255 166< f(m,n)<255(f(m,n)-166)*3.3553 90<f(m,n)<1660 f(m,n)<30G(m,n)= 255 230<f(m,n)(f(m,n)-30)*1.275 30<f(m,n)<230 G(m,n)=c*log10(f(m,n)+1) 0<f(m,n)<2553.代码和效果:1线性对比度展宽:%change2.mclear;I=imread('cat.jpg');[m,n]=size(I);for m=1:480for n=1:640if (I(m,n)<90) %象素值小于90G(m,n)=I(m,n)*(0.3); %映射比例是0.3else if(I(m,n)>166&I(m,n)<255)G(m,n)=(I(m,n)-166)*(0.3)+200; %映射比例是0.3elseG(m,n)=(I(m,n)-90)*(2.633)+27; %映射比例是2.633endendendendG=uint8(G);figure(1);imshow(G)2.图像灰级窗:%change3.mclear;I=imread('cat.jpg');[m,n]=size(I);for m=1:480for n=1:640if (I(m,n)<90) %象素值小于90G(m,n)=0;else if(I(m,n)>166&I(m,n)<255)G(m,n)=255;elseG(m,n)=(I(m,n)-166)*(3.3553);endendendendG=uint8(G);figure(1);imshow(G)%绘级窗实际上是线性对比度展宽的一种特殊形式。
数字图像处理基本操作及灰度调整实验报告
一.实验目的1.掌握读、写图像的基本方法;2.掌握MATLAB 语言中图像数据与信息的读取方法;3.理解图像灰度变换处理在图像增强的作用;4.掌握绘制灰度直方图的方法,理解灰度直方图的灰度变换及均衡化的方法。
二.实验基本原理1. 灰度变换灰度变换是图像增强的一种重要手段,它常用于改变图象的灰度范围及分布,是图象数字化及图象显示的重要工具。
1) 图像反转灰度级范围为[0, L-1]的图像反转可由下式获得r L s --=12) 对数运算:有时原图的动态范围太大,超出某些显示设备的允许动态范围,如直接使用原图,则一部分细节可能丢失。
解决的方法是对原图进行灰度压缩,如对数变换:s = c log(1 + r ),c 为常数,r ≥ 03) 幂次变换:0,0,≥≥=γγc cr s4) 对比拉伸:在实际应用中,为了突出图像中感兴趣的研究对象,常常要求局部扩展拉伸某一范围的灰度值,或对不同范围的灰度值进行不同的拉伸处理,即分段线性拉伸:其对应的数学表达式为:2. 直方图均衡化灰度直方图的横坐标是灰度级,纵坐标是该灰度级出现的频度,它是图像最基本的统计特征。
依据定义,在离散形式下, 用r k 代表离散灰度级,用p r (r k )代表p r (r ),并且有下式成立:nn r P k k r =)( 1,,2,1,010-=≤≤l k rk式中:n k 为图像中出现r k 级灰度的像素数,n 是图像像素总数,而n k /n 即为频数。
直方图均衡化处理是以累积分布函数变换法为基础的直方图修正法。
假定变换函数为ωωd p r T s r r)()(0⎰==(a) Lena 图像 (b) Lena 图像的直方图图1-1 Lena 图像及直方图当灰度级是离散值时,可用频数近似代替概率值,即1,,1,010)(-=≤≤=l k r nn r p k k k r式中:l 是灰度级的总数目,p r (r k )是取第k 级灰度值的概率,n k 是图像中出现第k 级灰度的次数,n 是图像中像素总数。
图像灰度变换实验报告
图像灰度变换报告一.实验目的1.学会使用Matlab ;2.学会用Matlab 软件对图像进行灰度变换,观察采用各种不同灰度变换发法对最终图像效果的影响;二.实验内容1.熟悉Matlab 中的一些常用处理函数读取图像:img=imread('filename');取实验用图像:. 使用imread 函数将图像读入Matlab 。
3 .产生灰度变换函数T1,使得:r < s =+ (r – ≤ r ≤1 + (r – 1) r > 用T1对原图像进行处理,使用imwrite 函数保存处理后的新图像。
4.产生灰度变换函数T2,使得:s = 5.用T26.分别用 s = ; s = ; s = 对图像进行处理。
为简便起见,使用Matlab 中的imadjust 函数,最后用imwrite 保存处理后的新图像。
7.对图像实施反变换(Negative Transformation )。
s =1-r; 使用imwrite 保存处理后的新图像。
8.对图像实施灰度切片当 ≤ r ≤ 时,将r 置为, 当r 位于其他区间时, 保持其灰度与原图像一样。
使用imwrite 保存处理后的新图像。
9.利用灰度变换对做增强处理,突出图中的人物,改善整个图像过于灰暗的背景。
通过调节参数,观察变换后的图像与原始图像的变化,寻找出最佳的灰度变换结果。
写出所采用的拉伸表达式。
三.实验结果与分析1.采用T1函数变换前 变换后函数图像该方法采用分段函数对图像进行处理,对灰度值大的进行拉伸,使灰度增大,而灰度值小的,也进行拉伸,使灰度值更小,从而产生如图所示的结果。
2.采用T2函数变换前变换后T2函数图T2函数也比较好的完成了T1函数所达到的效果,但是T2函数更加平滑一点,对于图像的边界处理的较好一些。
3.变换前图像变换前灰度图采用s = 变换采用s = 变换采用s = 变换三种函数的对比三种变换方式都对图像的每一个像素灰度作线性拉伸,有效地改善图像的视觉效果,但如果选择的拉伸尺度过大,会引起图像的失真,利用s = 变换是比较适合的。
图像处理灰度变换实验
一. 实验名称:空间图像增强(一)一.实验目的1.熟悉和掌握利用matlab工具进行数字图像的读、写、显示、像素处理等数字图像处理的基本步骤和流程。
2.熟练掌握各种空间域图像增强的基本原理及方法。
3.熟悉通过灰度变换方式进行图像增强的基本原理、方法和实现。
4.熟悉直方图均衡化的基本原理、方法和实现。
二.实验原理(一)数字图像的灰度变换灰度变换是图像增强的一种经典而有效的方法。
灰度变换的原理是将图像的每一个像素的灰度值通过一个函数,对应到另一个灰度值上去从而实现灰度的变换。
常见的灰度变换有线性灰度变换和非线性灰度变换,其中非线性灰度变换包括对数变换和幂律(伽马)变换等。
1、线性灰度变换1)当图像成像过程曝光不足或过度,或由于成像设备的非线性和图像记录设备动态围太窄等因素,都会产生对比度不足的弊病,使图像中的细节分辨不清,图像缺少层次。
这时,可将灰度围进行线性的扩展或压缩,这种处理过程被称为图像的线性灰度变换。
对灰度图像进行线性灰度变换能将输入图像的灰度值的动态围按线性关系公式拉伸扩展至指定围或整个动态围。
2)令原图像f(x,y)的灰度围为[a,b],线性变换后得到图像g(x,y),其灰度围为[c,d],则线性灰度变换公式可表示为a y x fb y x f a b y x fc c a y x f ab c d d y x g <≤≤>⎪⎩⎪⎨⎧+---=),(),(),(,,]),([,),( (1)由(1)式可知,对于介于原图像f (x,y )的最大和最小灰度值之间的灰度值,可通过线性变换公式,一一对应到灰度围[c,d]之间,其斜率为(d-c)/(b-a);对于小于原图像的最小灰度值或大于原图像的最大灰度值的灰度值,令其分别恒等于变换后的最小和最大灰度值。
变换示意图如图1所示。
图1 线性灰度变换示意图当斜率大于一时,变换后的灰度值围得到拉伸,图像对比度得到提高;当斜率小于一时,变换后的灰度值围被压缩,最小与最大灰度值的差变小,图像对比度降低;当斜率等于一时,相当于对图像不做变换。
matlab 图像 实验报告
matlab 图像实验报告Matlab图像实验报告引言:Matlab是一种强大的计算机编程语言和开发环境,广泛应用于科学计算、数据分析和图像处理等领域。
本实验报告旨在介绍基于Matlab的图像处理实验,包括图像读取、图像处理和图像显示等方面的内容。
一、图像读取图像读取是图像处理的第一步,通过读取图像可以获取图像的像素信息。
在Matlab中,可以使用imread函数来读取图像文件。
例如,通过以下代码可以读取一张名为"image.jpg"的图像:```matlabimage = imread('image.jpg');```二、图像处理1. 灰度化处理灰度化处理是将彩色图像转换为灰度图像的过程。
在Matlab中,可以使用rgb2gray函数来实现灰度化处理。
以下是一个简单的示例:```matlabgray_image = rgb2gray(image);```2. 图像增强图像增强是通过一系列的处理方法来改善图像的质量和视觉效果。
在Matlab中,有多种图像增强方法可供选择,如直方图均衡化、滤波和边缘检测等。
以下是一个直方图均衡化的示例:```matlabenhanced_image = histeq(gray_image);```3. 图像分割图像分割是将图像划分为若干个区域的过程,每个区域具有相似的特征。
在Matlab中,可以使用各种图像分割算法,如阈值分割和基于区域的分割。
以下是一个简单的阈值分割示例:```matlabthreshold = graythresh(enhanced_image);binary_image = imbinarize(enhanced_image, threshold);```三、图像显示图像显示是将处理后的图像展示给用户的过程。
在Matlab中,可以使用imshow函数来显示图像。
以下是一个简单的示例:```matlabimshow(binary_image);```四、实验结果与讨论本次实验中,我们选择了一张名为"image.jpg"的彩色图像进行处理。
数字图像处理:图像的灰度变换(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 实验报告
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实验平台对图像进行增强和变换处理。
二、实验内容:1.编程实现打开一个灰度图像,能够显示图像。
2.编程实现图像傅立叶变换和反变换,实现带噪小丑图像去除噪音。
3.用直接灰度变换改变图像(求反,增强对比度,动态范围压缩,灰度切分)。
三.实验过程:注:除小丑去噪外其他操作均用图3-1所示的lena图像1.打开并显示一幅灰度图像:在matlab命令窗口中输入如下代码:I=imread('e:\原始lena图像.bmp');imshow(I)所显示结果如下:图3-1 原始lena图像2.图像傅立叶变换和反变换,小丑去噪音:(1)傅立叶变换及其反变换:直接调用matlab自带的函数实现,代码如下:I=imread('e:\原始lena图像.bmp');%打开存在E盘里的lena图像A=fft2(double(I)); %对图像进行傅立叶变换B=fftshift(fft2(double(I))); %对频谱图进行平移处理C=ifft2(B); %傅立叶反变换subplot(2,2,1),imshow(I);title('原始图'); %画图像原始图subplot(2,2,2),imshow(log(abs(A)),[]);title('直接变换频率谱'); %画直接变换频谱图subplot(2,2,3),imshow(log(abs(B)),[]);title('处理后频谱'); %平移处理后频谱图subplot(2,2,4),imshow(abs(C),[]);title('反变换后图像'); %显示反傅立叶变换后的图像显示效果如下:图3-2 图像的傅立叶变换及其反变换(2)小丑图象去噪音:基于频率域的方法,去除小丑图像的噪音。
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”实验结果:。
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 +---=),(),(就可以实现这一要求。
MA TLA B 图像处理工具箱中提供的i ma d j ust 函数,可以实现上述的线性变换对比度调整。
imadj u st 函数的语法格式为:J = imadj u st(I,[low_i n high_i n], [low_o u t high_o ut])J = imadj u st(I, [low_i n high_i n], [low_o u t high_o ut])返回原图像I 经过直方图调整后的新图像J ,[low_i n high_i n]为原图像中要变换的灰度范围,[low_o u t high_o ut]指定了变换后的灰度范围,灰度范围可以用 [ ] 空矩阵表示默认范围,默认值为[0, 1]。
不使用im adjus t 函数,利用mat l ab 语言直接编程也很容易实现灰度图像的对比度调整。
但运算的过程中应当注意以下问题,由于我们读出的图像数据一般是u i nt8型,而在MAT LAB 的矩阵运算中要求所有的运算变量为d o uble 型(双精度型)。
因此读出的图像数据不能直接进行运算,必须将图像数据转换成双精度型数据。
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( ))。
matlab图像处理实验
matlab图像处理实验实验⼀ Matlab语⾔、数字图象基本操作⼀、实验⽬的1、复习MATLAB语⾔的基本⽤法;2、掌握MATLAB语⾔中图象数据与信息的读取⽅法;3、掌握在MATLAB中绘制灰度直⽅图的⽅法,了解灰度直⽅图的均衡化的⽅法。
⼆、实验原理MATLAB是集数值计算,符号运算及图形处理等强⼤功能于⼀体的科学计算语⾔。
作为强⼤的科学计算平台,它⼏乎能够满⾜所有的计算需求。
MATLAB软件具有很强的开放性和适⽤性。
在保持内核不变的情况下,MATLAB可以针对不同的应⽤学科推出相应的⼯具箱(toolbox)。
⽬前,MATLAB已经把⼯具箱延伸到了科学研究和⼯程应⽤的诸多领域,诸如数据采集、概率统计、信号处理、图像处理和物理仿真等,都在⼯具箱(Toolbox)家族中有⾃⼰的⼀席之地。
在实验中我们主要⽤到MATLAB提供图象处理⼯具箱(Image ProcessingToolbox)。
1、MATLAB与数字图像处理MATLAB全称是Matrix Laboratory(矩阵实验室),⼀开始它是⼀种专门⽤于矩阵数值计算的软件,从这⼀点上也可以看出,它在矩阵运算上有⾃⼰独特的特点。
实际上MATLAB中的绝⼤多数的运算都是通过矩阵这⼀形式进⾏的。
这⼀特点也就决定了MATLAB在处理数字图像上的独特优势。
理论上讲,图像是⼀种⼆维的连续函数,然⽽在计算机上对图像进⾏数字处理的时候,⾸先必须对其在空间和亮度上进⾏数字化,这就是图像的采样和量化的过程。
⼆维图像进⾏均匀采样,就可以得到⼀幅离散化成M×N样本的数字图像,该数字图像是⼀个整数阵列,因⽽⽤矩阵来描述该数字图像是最直观最简便的了。
⽽MATLAB的长处就是处理矩阵运算,因此⽤MATLAB处理数字图像⾮常的⽅便。
MATLAB⽀持五种图像类型,即索引图像、灰度图像、⼆值图像、RGB图像和多帧图像阵列;⽀持BMP、GIF、HDF、JPEG、PCX、PNG、TIFF、XWD、CUR、ICO等图像⽂件格式的读,写和显⽰。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
实验一Matlab图像处理基础
一、实验目的
熟悉Matlab平台下的图像编程环境;
掌握基本的Matlab运算符应用方法;
掌握基本的主、子函数调用方法;
掌握基本的图像读、写等函数;
掌握Matlab帮助文档使用方法。
二、实验内容
1.观察matlab软件环境;
2.练习+,-,*,/,^,.+,.-,.*,./,.^ 等运算符号的使用方法;
3.编写主函数实现图像的读取、显示及写入;
4.编写子函数实现图像的翻转;
5.主函数调用子函数实现图像的翻转;
6.利用Matlab帮助文档查看相应函数的使用方法。
三、知识要点
1.Matlab支持的图像图形格式
TIFF, JEPG, GIF, BMP, PNG 等。
2.与图像处理相关的最基本函数
读:imread; 写:imwrite; 显示:imshow; 信息查看:imfinfo; 图像选装:imrotate 3.Matlab支持的数据类
double, unit8, int8, uint16, int16, uint32, int32, single, char (2 bytes per element), logical.
4.数据类及图像类型间的基本转换函数
数据类转换:B = data_class_name(A);
作业:
1.简述.*,./,.^的使用方法,与+,-,*,/,^的区别,用实例演示。
2.通过主、子函数实现图像的旋转。