数字图像处理在matlab中的基本操作

数字图像处理在matlab中的基本操作

ID:33524267

大小:1.67 MB

页数:19页

时间:2019-02-26

数字图像处理在matlab中的基本操作_第1页
数字图像处理在matlab中的基本操作_第2页
数字图像处理在matlab中的基本操作_第3页
数字图像处理在matlab中的基本操作_第4页
数字图像处理在matlab中的基本操作_第5页
资源描述:

《数字图像处理在matlab中的基本操作》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、数字图像处理在matlab中的应用1.图像的缩放图像的缩放是图像的空间域变换操作,可以认为是在输入图像和输出图像之间进行像素-像素变换。图像插值操作是图像缩放的基本方法,基本原理是,估计像素点之间位置的像素值,将输入图像和输出图像的变换在数字图像的约束下得以完善,有效的填充图像可能出现的空白点。图像的插值包括三种方法:1.最近邻插值,该算法中,输出图像中每一个像素点的值就是与该点在输入图像中变换位置最临近采样点的值。2.双线性插值,该方法的输出像素值是它在输入图像中2*2邻域采样点的平均值。3.双三次插值,相

2、比于双线性插值,其插值邻域大小为4*4,插值效果好,但相应计算量也较大。Matlab图像处理工具箱中的函数imresize可以对图像进行缩放操作,同时指定以上所介绍的插值方法作为其函数。以下基于matlab实现图像“hd1.bmp”的不同方式的缩放(这里设置放大倍数为2倍)%图像缩放操作代码:>>J=imread('hd1.bmp');%图像的读入>>x1=imresize(J,2);%将图像以最近邻插值放大两倍>>x2=imresize(J,2,'bilinear');%将图像以双线性插值放大两倍>>x3=

3、imresize(J,2,'bicubic');%将图像以双三次插值放大两倍>>figure,imshow(J)%图像输出显示>>figure,imshow(x1)>>figure,imshow(x2)>>figure,imshow(x3)输入输出图像对比图1-1原图输出图1-2最近邻插值放大2倍输出图1-3双线性插值放大2倍输出图1-4双三次插值放大2倍输出1.图像的点处理-灰度变换/直方图调整点处理是通过像元亮度值(灰度值)的变换来实现的。灰度变换是一种简单实用的方法,它可使图像动态范围增大,图像对比度扩

4、展,图像变清晰,特征明显。灰度变换可以分为比例线性变换、分段线性变换和非线性灰度变换。1.1比例线性变换比例线性变换是对单波段逐个像元进行处理的,它是将原图亮度值动态范围按线性关系式扩展到指定范围或整个动态范围。假定原图像f(x,y)的灰度范围是[a,b],希望变换后图像的动态范围是[c,d],则可以用一下公式来实现变换:(1-1)以下是比例线性变换的程序设计及实现:>>x=imread('airforce.bmp');%图像文件读入>>I=rgbgray2(x);%该语句由后期修改,修改后影响原图输出效果>

5、>figure,imshow(I);%原图显示输出>>f0=0;g0=0;>>f1=10;g1=10;>>f2=180;g2=1800;>>f3=255;g3=255;%定义点以确定线段(此处随机定义)>>figure,plot([f0,f1,f2,f3],[g0,g1,g2,g3])>>axistight,xlabel('f'),ylabel('g')>>title('intensitytransformation')%绘制变换曲线>>r1=(g1-g0)/(f1-f0);>>b1=g0-r1*f0;>>r

6、2=(g2-g1)/(f2-f1);>>b2=g1-r2*f1;>>r3=(g3-g2)/(f3-f2);>>b3=g2-r3*f2;%根据变量曲线点求出变量关系式>>[m,n]=size(I);>>J=double(I);>>fori=1:mforj=1:nf=J(i,j);g(i,j)=0;if(f>=f1)&(f<=f2)g(i,j)=r1*f+b2;elseif(f>=f2)&(f<=f3)g(i,j)=r3*f+b3;%计算各图像元变换后灰度值endendend>>figure,imshow(mat

7、2gray(g))%输出变换后灰度图像以下是程序运行结果:图2-1原图像图2-2绘制出的变换曲线图2-3比例线性变换处理后图像输出1.1分段线性变换分段线性变换是为了突出人们感兴趣的目标或亮度值区间,要求局部扩展亮度值范围。它可以有效地利用有限个灰度级,达到最大限度增强图像中有用信息的目的。假设感兴趣的区域是(a,b),可以采用以下的分段变换公式:(2-2)下面利用分段线性变换来对图像进行处理,假定感兴趣的区间是(30,180),可以得到分段线性变换程序如下:%分段线性变换>>x=imread('airfor

8、ce2.bmp');>>I=rgbgray2(x);%该语句由后期修改,修改后影响原图输出效果>>figure,imshow(I)%显示原图像>>f0=0;g0=0;>>f1=30;g1=10;>>f2=180;g2=220;>>f3=255;g3=255;%设点,给出感兴趣的区间>>figure,plot([f0,f1,f2,f3],[g0,g1,g2,g3])>>axistight,xlabel

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。