欢迎来到天天文库
浏览记录
ID:59254062
大小:45.37 KB
页数:35页
时间:2020-09-08
《matlab图像处理教程.docx》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、基本概念一点通从理论上讲,图像是一种二维的连续函数,然而在计算机上对图像进行数字处理的时候,首先必须对其在空间和亮度上进行数字化,这就是图像的采样和量化的过程。空间坐标(x,y)的数字化称为图像采样,而幅值数字化称为灰度级量化。对一幅图像采样时,若每行(横向)采样数为M,每列(纵向)采样数为N,则图像大小为M*N个像素,f(x,y)表示点(x,y)处的灰度值,则F(x,y)构成一个M*N实数矩阵****************************经验分享:“像素”的英文为“pixel”,它是“picture”和“element”的合成词,表示图像元素的
2、意思。我们可以对“像素”进行如下理解:像素是一个面积概念,是构成数字图像的最小单位。****************************把采样后所得的各像素灰度值从模拟量到离散量的转换称为图像灰度的量化。量化是对图像幅度坐标的离散化,它决定了图像的幅度分辨率。量化的方法包括:分层量化、均匀量化和非均匀量化。分层量化是把每一个离散样本的连续灰度值只分成有限多的层次;均匀量化是把原图像灰度层次从最暗至最亮均匀分为有限个层次,如果采用不均匀分层就称为非均匀量化。当图像的采样点数一定时,采用不同量化级数的图像质量不一样。量化级数越多,图像质量越好;量化级数越少
3、,图像质量越差。量化级数小的极端情况就是二值图像。****************************经验分享:“灰度”可以认为是图像色彩亮度的深浅。图像所能够展现的灰度级越多,也就意味着图像可以表现更强的色彩层次。如果把黑——灰——白连续变化的灰度值量化为256个灰度级,灰度值的范围为0~255,表示亮度从深到浅,对应图像中的颜色为从黑到白。****************************因此,对数字图像进行处理,也就是对特定的矩阵进行处理。在C语言中,对M×N数字图像处理的核心代码如下:for(j=1;j4、;i5、*******************************************functionnewImage=resample1(image,newRow,newCol)%功能:对图像进行缩放%输入:image-需要进行缩放的灰度图像;%newRow-缩放后新图像的行数;%newCol-缩放后新图像的列数;%输出:newImage-缩放后的图像。[row,col]=size(image);image_larger=zeros((row+1),(col+1));image_larger(1:row,1:col)=image;image=image_6、larger;newImage=zeros(newRow,newCol);fori=0:(newRow-1)forj=0:(newCol-1)x=j*(col-1)/(newCol-1);y=i*(row-1)/(newRow-1);fx=floor(x);fy=floor(y);area_ul=(x-fx)*(y-fy);area_ur=(fx+1-x)*(y-fy);area_bl=(x-fx)*(fy+1-y);area_br=(fx+1-x)*(fy+1-y);newImage(i+1,j+1)=...image(fy+1,fx+1)*area_b7、r+...image(fy+1,fx+2)*area_bl+...image(fy+2,fx+1)*area_ur+...image(fy+2,fx+2)*area_ul;endend*********************************************************************在MATLAB中,图像的缩放也可以调用imresize函数来实现。imresize函数的调用格式如下:B=imresize(A,m,method)imrersize函数使用由参数method指定的插值运算来改变图像的大小。method的几种8、可选值:'nearest'(默认值)最近邻插值;'bilinear
4、;i5、*******************************************functionnewImage=resample1(image,newRow,newCol)%功能:对图像进行缩放%输入:image-需要进行缩放的灰度图像;%newRow-缩放后新图像的行数;%newCol-缩放后新图像的列数;%输出:newImage-缩放后的图像。[row,col]=size(image);image_larger=zeros((row+1),(col+1));image_larger(1:row,1:col)=image;image=image_6、larger;newImage=zeros(newRow,newCol);fori=0:(newRow-1)forj=0:(newCol-1)x=j*(col-1)/(newCol-1);y=i*(row-1)/(newRow-1);fx=floor(x);fy=floor(y);area_ul=(x-fx)*(y-fy);area_ur=(fx+1-x)*(y-fy);area_bl=(x-fx)*(fy+1-y);area_br=(fx+1-x)*(fy+1-y);newImage(i+1,j+1)=...image(fy+1,fx+1)*area_b7、r+...image(fy+1,fx+2)*area_bl+...image(fy+2,fx+1)*area_ur+...image(fy+2,fx+2)*area_ul;endend*********************************************************************在MATLAB中,图像的缩放也可以调用imresize函数来实现。imresize函数的调用格式如下:B=imresize(A,m,method)imrersize函数使用由参数method指定的插值运算来改变图像的大小。method的几种8、可选值:'nearest'(默认值)最近邻插值;'bilinear
5、*******************************************functionnewImage=resample1(image,newRow,newCol)%功能:对图像进行缩放%输入:image-需要进行缩放的灰度图像;%newRow-缩放后新图像的行数;%newCol-缩放后新图像的列数;%输出:newImage-缩放后的图像。[row,col]=size(image);image_larger=zeros((row+1),(col+1));image_larger(1:row,1:col)=image;image=image_
6、larger;newImage=zeros(newRow,newCol);fori=0:(newRow-1)forj=0:(newCol-1)x=j*(col-1)/(newCol-1);y=i*(row-1)/(newRow-1);fx=floor(x);fy=floor(y);area_ul=(x-fx)*(y-fy);area_ur=(fx+1-x)*(y-fy);area_bl=(x-fx)*(fy+1-y);area_br=(fx+1-x)*(fy+1-y);newImage(i+1,j+1)=...image(fy+1,fx+1)*area_b
7、r+...image(fy+1,fx+2)*area_bl+...image(fy+2,fx+1)*area_ur+...image(fy+2,fx+2)*area_ul;endend*********************************************************************在MATLAB中,图像的缩放也可以调用imresize函数来实现。imresize函数的调用格式如下:B=imresize(A,m,method)imrersize函数使用由参数method指定的插值运算来改变图像的大小。method的几种
8、可选值:'nearest'(默认值)最近邻插值;'bilinear
此文档下载收益归作者所有