MATLAB仿图像的数据分析

MATLAB仿图像的数据分析
MATLAB仿图像的数据分析

目录

1.Matlab及课程设计所用函数简介 (2)

1.1Matlab简介 (2)

1.2课程设计所用函数简介 (3)

2.数据采集 (6)

2.1 MATLAB的读取方法 (6)

3图像数据统计处理 (9)

3.1 图像数据处理原理 (9)

3.2各像素点中最大值的获取 (10)

3.3各像素点中最小值的获取 (10)

3.4各像素点值的均值的获取 (11)

3.5各像素点值的中值的获取 (12)

3.6各像素点值的和的获取 (13)

3.7各像素点值的标准差的获取 (13)

3.8各像素点值的方差的获取 (14)

3.9两图中各像素点值的协方差的获取 (14)

3.10两图的相对系数的获取 (15)

4.心得体会............................................................................ 错误!未定义书签。参考文献............................................................................... 错误!未定义书签。

Matlab及课程设计所用函数简介

1.1Matlab简介

MATLAB是由美国mathworks公司发布的主要面对科学计算、可视化以及交互式程序设计的高科技计算环境。它将数值分析、矩阵计算、科学数据可视化以及非线性动态系统的建模和仿真等诸多强大功能集成在一个易于使用的视窗环境中,为科学研究、工程设计以及必须进行有效数值计算的众多科学领域提供了一种全面的解决方案,并在很大程度上摆脱了传统非交互式程序设计语言(如C、Fortran)的编辑模式,代表了当今国际科学计算软件的先进水平。

MATLAB和Mathematica、Maple并称为三大数学软件。它在数学类科技应用软件中在数值计算方面首屈一指。

Matlab是一套功能十分强大的工程计算及数据分析软件,其应用范围涵盖了数学、工业技术、电子科学、医疗卫生、建筑、金融、数字图像处理等各个领域。许多工程师和研究人员发现,matlab能迅速测试其构思,综合评测系统性能,并能借此快速设计出更多的解决方案,达到更高的技术要求。

Matlab的图像处理工具箱,功能十分强大,支持的图像文件格式丰富,如JPEG、RAS、PCX、TIFF、PNG、HDF、GIF、ICO、CUR、XWD、BMP等。

用Matlab所提供的图像处理与分析工具,结合其强大的数据处理能力,研究人员可利用前人已取得的研究成果,可以把精力集中在新技术理论的研究上,而不必关心图像文件的格式、读写、显示和已有成果的技术细节.并快速测试其图像处理与分析的新方案。测试既可方便地得到统计数据,同时又可得到直观图示。

Matlab提供了20类图像处理函数,涵盖了图像处理的包括近期研究成果在内的几乎所有的技术方法,是学习和研究图像处理的人员难得的宝贵资料和加工工具箱。

这些函数按其功能可分为:图像显示;图像文件I/O;图像算术运算;几何变换;图像登记;像素值与统汁;图像分析;图像增强;线性滤波;线性二元滤波设计;图像去模糊;图像变换;邻域与块处理;灰度与二值图像的形态学

运算;结构元素创建与处理;基于边缘的处理;色彩映射表操作;色彩空间变换;图像类型与类型转换。

Matlab作为一种科学计算的高级语言之所以受欢迎,就是因为它有丰富的函数资源和工具箱资源,编程人员可以根据自己的需要选择函数,而无需再去编写大量繁琐的程序代码,从而减轻了编程人员的工作负担。被称为第四代编程语言的Matlab最大的特点就是简洁开放的程序代码和直观实用的开发环境。具体地说Matlab主要有以下特点:

(1)库函数资源丰富;(2)语言精炼,代码灵活;

(3)运算符多而灵活;(4)面向对象,控制功能优良;

(5)程序设计自由;(6)图形功能强大;

(7)程序的兼容性好;(8)源代码开放

MATLAB的基本数据单位是矩阵,它的指令表达式与数学、工程中常用的形式十分相似,故用MATLAB来解算问题要比用C,FORTRAN等语言完成相同的事情简捷得多,并且MATLAB也吸收了像Maple等软件的优点,使MATLAB 成为一个强大的数学软件。在新的版本中也加入了对C,FORTRAN,C++,JA V A 的支持。可以直接调用,用户也可以将自己编写的实用程序导入到MATLAB函数库中方便自己以后调用,此外许多的MATLAB爱好者都编写了一些经典的程序,用户可以直接进行下载就可以用。

1.2课程设计所用函数简介

下面简单介绍本次课设会用到的一些Matlab中的函数。

⑴MATLAB中图象数据的读取

imread

imread函数用于读入各种图象文件,其一般的用法为

[X,MAP]=imread(‘filename’,‘fmt’)

其中,X,MAP分别为读出的图象数据和颜色表数据,可建立一个数组I来简单表示。fmt为图象的格式,filename为读取的图象文件。

例:[X,MAP]=imread(’flowers.tif’,’tif’);

或者I=imread(’flowers.tif’,’tif’);

⑵MATLAB中图象文件的显示

Imshow

imshow函数是最常用的显示各种图象的函数,imshow主要用于调用图像索引,

imshow(X,map)

其功能等同于:

image(X)

colormap(map)

但是,inshow的功能要强大一些,比如用于灰度图像,RGB图像,二进制图像,都可以应用。其中X是图象数据矩阵,map是其对应的颜色矩阵,若进行图象处理后不知道图象数据的值域可以用[]代替map。需要显示多幅图象时,可以使用figure语句,它的功能就是重新打开一个图象显示窗口。

例:

I=imread(‘rice.tif’);

Imshow(I);

J=imread(‘flowers.tif’);

figure,imshow(J);

或者J=imread('H:\pic1.jpg')

image(J);

title('pic1')

⑶MATLAB中图象文件灰度图像的转化

rgb2gray

转换RGB图像或颜色映像表为灰度图像

语法:I=rgb2gray(RGB) 或者newmap=rgb2gray(map)

⑷图像数据分析相关的函数

求矩阵的最大值和最小值

求矩阵A的最大值的函数有3种调用格式,分别是:

①max(A):返回一个行向量,向量的第i个元素是矩阵A的第i列上的最大值。

②[Y,U]=max(A):返回行向量Y和U,Y向量记录A的每列的最大值,U向量记录每列最大值的行号。

③max(A,[],dim):dim取1或2。dim取1时,该函数和max(A)完全相同;dim取2时,该函数返回一个列向量,其第i个元素是A矩阵的第i行上的最大值。

求最小值的函数是min,其用法和max完全相同。

求平均值和中值

求数据序列平均值的函数是mean,求数据序列中值的函数是median。两个函数的调用格式为:

mean(X):返回向量X的算术平均值。

median(X):返回向量X的中值。

mean(A):返回一个行向量,其第i个元素是A的第i列的算术平均值。median(A):返回一个行向量,其第i个元素是A的第i列的中值。

mean(A,dim):当dim为1时,该函数等同于mean(A);当dim为2时,返回一个列向量,其第i个元素是A的第i行的算术平均值。

median(A,dim):当dim为1时,该函数等同于median(A);当dim为2时,返回一个列向量,其第i个元素是A的第i行的中值。

数据序列求sum设X是一个向量,A是一个矩阵,函数的调用格式为:

sum(X):返回向量X各元素的和。

sum(A):返回一个行向量,其第i个元素是A的第i列的元素和。

sum(A,dim):当dim为1时,该函数等同于sum(A);当dim为2时,返回一个列向量,其第i个元素是A的第i行的各元素之和。

⑹求标准差与方差

在MATLAB中,提供了计算数据序列的标准差的函数std与计算方差的函数Var。对于向量X,std(X)返回一个标准差。对于矩阵A,std(A)返回一个行向量,它的各个元素便是矩阵A各列或各行的标准差。std函数的一般调用格式为:

Y=std(A,flag,dim)

Var的一般调用格式为:

Y=var(A,flag,dim)

⑺求协方差与相关系数

MATLAB提供了cov函数可以求出数据的协方差

函数的调用格式为cov(X) %

MATLAB提供了corrcoef函数,可以求出数据的相关系数矩阵。corrcoef函数的调用格式为:

corrcoef(X):返回从矩阵X形成的一个相关系数矩阵。此相关系数矩阵的大小与矩阵X一样。它把矩阵X的每列作为一个变量,然后求它们的相关系数。corrcoef(X,Y):在这里,X,Y是向量,它们与corrcoef([X,Y])的作用一样。

2.数据采集

2.1 MATLAB的读取方法

2.1.1图像的读取

从电脑中调用保存的图片两张,图像为800*600和800*600像素保存为pic1.jpg和pic2.jpg,如图

Matlab显示图像的最基本的手段是使用image函数。该函数还产生了图像

对象的句柄,并允许对对象的属性进行设置,利用图像读取函数imread()可完成图形图像文件的读取。

利用函数存放在电脑中的两张图片pic1.jpg和pic2.jpg,并将其分别存储到名为I1和I2的数组中,其具体实现程序如下,得到结果如图

I1=imread('pic1.jpg');

I2=imread('pic2.jpg');

image(I2)

上述张图片满足像素要求,但图像为彩图,不是灰度图,无法进行接下来的分析,需将彩图转换为灰度图,利用MATLAB中的rgb2gray()命令实现RGB 图像到灰度图像的转化。转化后在使用命令isgray()判断图像是否变为灰度图,如果是灰度图将返回为1,不是将返回0。灰度图转换成功后,将转化后的灰度图读取出来。

灰度转换程序如下:

I=rgb2gray(I1);

I2=rgb2gray(I2);

figure;

imshow(I1);

figure;

imshow(I2);

转换后灰度图如图2.4,2.5所示

图2.4 pic1灰度图

3 图像数据统计处理

3.1图像数据处理原理

一幅图像可以被看作是空间各点光强度的集合。MATLAB把灰度图像存储为一个数据矩阵,该数据矩阵中的元素分别代表了图像中的像素。一幅行数为M、列数为N的图像大小为M×N的矩阵形式为,如图3.1

图3.1 矩阵形式

键入命令M= imread('pic2.jpg')可得出pic2的灰度矩阵,如图3.2所示

图3.2 pic2灰度矩阵

因此可利用灰度矩阵来分析图片的各种参数以及对数据进行处理,而且由于在应用图片的方面,对图像各项参数的要求不同,所以要对图片进行适当的

数据处理,来考察图片的不同参数。例如均值,标准差,方差就是图像的一些相关的参数,可以用作对图片的质量来作评价。

3.2各像素点中最大值的获取

3.2.1 引用函数

Matlab中max()函数用于求最大值。

程序如下:

image_maxpic1=max(max(I1))

Image_maxpic2=max(max(I2))

3.2.2计算结果

图像最大值分析结果如下图所示

图3.3最大值分析

3.3各像素点中最小值的获取

3.3.1引用函数

Matlab中min()函数用于求最小值。

程序如下:

image_minpic1=min(min(I1))

image_minpic2=min(min(I2))

3.3.2计算结果

图像最小值分析结果如下图所示

图3.4 最小值分析

3.4各像素点值的均值的获取

3.4.1引用函数

MATLAB中提供均值计算函数mean()和mean2(),函数的使用方法如下:例如用mean2(X)求出矩阵X所有元素的均值。

若要求整个矩阵的均值,则为mean(mean(X))。

>>X=[1 2 3

4 5 6]

>>mean(mean(X))=3.5

也可使用mean2函数:

>>mean2(X)=3.5

题目要求计算图像各像素点的均值,因而可通过调用mean2()函数进行计

算,在命令行中输入mean2(A_gray)即可求得灰度图各像素点的均值。

程序如下:

image_meanpic1= mean2(I1)

image_meanpic2= mean2(I2)

3.4.2计算结果

图像均值分析结果如图

3.5各像素点值的中值的获取

3.5.1引用函数

MATLAB中提供的median()函数可求

出中值。例如:

median(M),每一列返回一个值为该列从大到小排列的中值.median(M,dim),dim为1,2。其中1表示按每列返回一个值,为该列从大到小排列的中间值,2表示按每行返回一个值,为该行从大到小排列的中间值.

注意:如果行或列的个数为偶数,返回中间两个值的平均值。

求I1,I2中像素点值的中值程序如下:

image_medianpic1=median(I1(:))

image_medianpic2=median(I2(:))

3.5.2计算结果

图像中值分析结果如下图所示

图3.6 中值分析

3.6各像素点值的和的获取

3.6.1引用函数

MATLAB中提供的sum()函数为求和函数,sum(x,2)表示矩阵x的横向相加,求每行的和,结果是列向量。而缺省的sum(x)就是竖向相加,求每列的和,结果是行向量。利用sum()函数可求出各像素点的和

程序如下:

image_sumpic1=sum(sum(I1))

image_sumpic2=sum(sum(I2))

3.6.2计算结果

图像各像素点值的和分析结果如下图所示

图3.7 像素的点和分析

3.7各像素点值的标准差的获取

3.7.1引用函数

MATLAB中提供的std()函数可求出标准差。std(x) 算出x的标准偏差。x 可以是一行的matrix或者一个多行matrix矩阵。

如果只有一行,那么就是算一行的标准偏差,如果有多行,就是算每一列的标准偏差。

std(x,a)也是x的标准偏差但是a可以=0或者1.如果是0和前面没有区别,如果是1就是最后除以n,而不是n-1. std (x, a,b)这里a表示是要用n还是n-1,如果是a是0就是除以n-1,如果是1就是除以n。b这里是维数,比如说

1 2 3 4

4 5 6 1

如果b 是1,就是按照行分,如果b是2就是按照列分

如果是三维的矩阵,b=3就按照第三维来分数据。

求个像素点值标准差程序如下:

image_stdpic1=std2(I1(:))

image_stdpic2=std2(I2(:))

3.7.2计算结果

图像标准差分析结果如下图所示

图3.8 标准差分析

3.8各像素点值的方差的获取

3.8.1引用函数

MATLAB中提供的var()函数可求出方差

程序如下:

image_varpic1=var(double(I1(:)))

image_varpic2=var(double(I2(:)))

3.8.2计算结果

图像方差分析结果下图所示

3.9两图中各像素点值的

协方差的获取

3.9.1引用函数

MATLAB中提供的cov()函数

可求出两数组间的协方差

程序如下:

image_covpic=cov(double(I1),double(I2))

3.9.1计算结果

pic1和pic2两图像像素点值协方差分析结果如上图所示3.10两图的相对系数的获取

3.10.1引用函数

MATLAB中提供的corrcoef函数可求出两数组间的相对系数。

程序如下:

image_corrcoefpic=corrcoef(double(I1),double(I2))

3.11.2计算结果

图像pic1和pic2的相对系数分析结果如下图所示

3.11 两图相对系数分析

Matlab 图像处理相关函数命令大全

Matlab 图像处理相关函数命令大全 一、通用函数: colorbar 显示彩色条 语法:colorbar \ colorbar('vert') \ colorbar('horiz') \ colorbar(h) \ h=colorbar(...) \ colorbar(...,'peer',axes_handle) getimage 从坐标轴取得图像数据 语法:A=getimage(h) \ [x,y,A]=getimage(h) \ [...,A,flag]=getimage(h) \ [...]=getimage imshow 显示图像 语法:imshow(I,n) \ imshow(I,[low high]) \ imshow(BW) \ imshow(X,map) \ imshow(RGB)\ imshow(...,display_option) \ imshow(x,y,A,...) \ imshow filename \ h=imshow(...) montage 在矩形框中同时显示多幅图像 语法:montage(I) \ montage(BW) \ montage(X,map) \ montage(RGB) \ h=montage(...) immovie 创建多帧索引图的电影动画 语法:mov=immovie(X,map) \ mov=immovie(RGB) subimage 在一副图中显示多个图像 语法:subimage(X,map) \ subimage(I) \ subimage(BW) \ subimage(RGB) \ subimage(x,y,...) \ subimage(...) truesize 调整图像显示尺寸 语法:truesize(fig,[mrows mcols]) \ truesize(fig)

实验八MATLAB文件操作与数据导入导出

实验八 Matlab 文件操作与数据接口 一、实验目的 1、熟练掌握工作区变量的文件操作; 2、熟练掌握文本文件的读写操作; 3、熟练掌握格式化文本文件的输入输出语句的执行 4、了解二进制文件、Mat文件的读写操作 二、实验仪器与软件 1. PC计算机 2. Matlab软件 三、实验原理 1. 二进制文件与文本文件的区别: 将文件看作是由一个一个字节(byte) 组成的,那么文本文件中的每个字节的最高位都是0,也就是说文本文件使用了一个字节中的七位来表示所有的信息,而二进制文件则是将字节中的所有位都用上了。这就是两者的区别;接着,第二个问题就是文件按照文本方式或者二进制方式打开,两者会有什么不同呢?其实不管是二进制文件也好,还是文本文件也好,都是一连串的0和1,但是打开方式不同,对于这些0和1的处理也就不同。如果按照文本方式打开,在打开的时候会进行translate,将每个字节转换成ASCII 码,而以按照二进制方式打开的话,则不会进行任何的translate;最后就是文本文件和二进制文件在编辑的时候,使用的方式也是不同的。譬如,你在记事本中进行文本编辑的时候,你进行编辑的最小单位是字节(byte);而对二进制文件进行编辑的话,最小单位则是位(bi t),当然我们都不会直接通过手工的方式对二进制文件进行编辑了。 从文件编码的方式来看,文件可分为ASCII码文件和二进制码文件两种:ASCII文件也称为文本文件,这种文件在磁盘中存放时每个字符对应一个字节,用于存放对应的ASCII码。例如,数5678的存储形式为: ASCII码:00110101 00110110 00110111 00111000 ↓↓↓↓ 十进制码:5678

matlab在统计数据的描述性分析的应用

统计数据的描述性分析 一、实验目的 熟悉在matlab中实现数据的统计描述方法,掌握基本统计命令:样本均值、样本中位数、样本标准差、样本方差、概率密度函数pdf、概率分布函数df、随机数生成rnd。 二、实验内容 1 、频数表和直方图 数据输入,将你班的任意科目考试成绩输入 >> data=[91 78 90 88 76 81 77 74]; >> [N,X]=hist(data,5) N = 3 1 1 0 3 X = 75.7000 79.1000 82.5000 85.9000 89.3000 >> hist(data,5)

2、基本统计量 1) 样本均值 语法: m=mean(x) 若x 为向量,返回结果m是x 中元素的均值; 若x 为矩阵,返回结果m是行向量,它包含x 每列数据的均值。 2) 样本中位数 语法: m=median(x) 若x 为向量,返回结果m是x 中元素的中位数; 若x 为矩阵,返回结果m是行向量,它包含x 每列数据的中位数3) 样本标准差 语法:y=std(x) 若x 为向量,返回结果y 是x 中元素的标准差; 若x 为矩阵,返回结果y 是行向量,它包含x 每列数据的标准差

std(x)运用n-1 进行标准化处理,n是样本的个数。 4) 样本方差 语法:y=var(x); y=var(x,1) 若x 为向量,返回结果y 是x 中元素的方差; 若x 为矩阵,返回结果y 是行向量,它包含x 每列数据的方差 var(x)运用n-1 进行标准化处理(满足无偏估计的要求),n 是样本的个数。var(x,1)运用n 进行标准化处理,生成关于样本均值的二阶矩。 5) 样本的极差(最大之和最小值之差) 语法:z= range(x) 返回结果z是数组x 的极差。 6) 样本的偏度 语法:s=skewness(x) 说明:偏度反映分布的对称性,s>0 称为右偏态,此时数据位于均值右边的比左边的多;s<0,情况相反;s 接近0 则可认为分布是对称的。 7) 样本的峰度 语法:k= kurtosis(x) 说明:正态分布峰度是3,若k 比3 大得多,表示分布有沉重的尾巴,即样本中含有较多远离均值的数据,峰度可以作衡量偏离正态分布的尺度之一。 >> mean(data) ,

MATLAB数据分析与多项式计算(M)

第7章 MATLAB数据分析与多项式计算 6.1 数据统计处理 6.2 数据插值 6.3 曲线拟合 6.4 离散傅立叶变换 6.5 多项式计算 6.1 数据统计处理 6.1.1 最大值和最小值 MATLAB提供的求数据序列的最大值和最小值的函数分别为max 和min,两个函数的调用格式和操作过程类似。 1.求向量的最大值和最小值 求一个向量X的最大值的函数有两种调用格式,分别是: (1) y=max(X):返回向量X的最大值存入y,如果X中包含复数元素,则按模取最大值。 (2) [y,I]=max(X):返回向量X的最大值存入y,最大值的序号存入I,如果X中包含复数元素,则按模取最大值。 求向量X的最小值的函数是min(X),用法和max(X)完全相同。 例6-1 求向量x的最大值。 命令如下: x=[-43,72,9,16,23,47]; y=max(x) %求向量x中的最大值 [y,l]=max(x) %求向量x中的最大值及其该元素的位置 2.求矩阵的最大值和最小值 求矩阵A的最大值的函数有3种调用格式,分别是: (1) max(A):返回一个行向量,向量的第i个元素是矩阵A的第i 列上的最大值。 (2) [Y,U]=max(A):返回行向量Y和U,Y向量记录A的每列的最大值,U向量记录每列最大值的行号。 (3) max(A,[],dim):dim取1或2。dim取1时,该函数和max(A)完全相同;dim取2时,该函数返回一个列向量,其第i个元素是A矩阵的第i行上的最大值。 求最小值的函数是min,其用法和max完全相同。

例6-2 分别求3×4矩阵x中各列和各行元素中的最大值,并求整个矩阵的最大值和最小值。 3.两个向量或矩阵对应元素的比较 函数max和min还能对两个同型的向量或矩阵进行比较,调用格式为: (1) U=max(A,B):A,B是两个同型的向量或矩阵,结果U是与A,B 同型的向量或矩阵,U的每个元素等于A,B对应元素的较大者。 (2) U=max(A,n):n是一个标量,结果U是与A同型的向量或矩阵,U的每个元素等于A对应元素和n中的较大者。 min函数的用法和max完全相同。 例6-3 求两个2×3矩阵x, y所有同一位置上的较大元素构成的新矩阵p。 6.1.2 求和与求积 数据序列求和与求积的函数是sum和prod,其使用方法类似。设X是一个向量,A是一个矩阵,函数的调用格式为: sum(X):返回向量X各元素的和。 prod(X):返回向量X各元素的乘积。 sum(A):返回一个行向量,其第i个元素是A的第i列的元素和。 prod(A):返回一个行向量,其第i个元素是A的第i列的元素乘积。 sum(A,dim):当dim为1时,该函数等同于sum(A);当dim为2时,返回一个列向量,其第i个元素是A的第i行的各元素之和。 prod(A,dim):当dim为1时,该函数等同于prod(A);当dim为2时,返回一个列向量,其第i个元素是A的第i行的各元素乘积。 例6-4 求矩阵A的每行元素的乘积和全部元素的乘积。 6.1.3 平均值和中值 求数据序列平均值的函数是mean,求数据序列中值的函数是median。两个函数的调用格式为: mean(X):返回向量X的算术平均值。 median(X):返回向量X的中值。

matlab中图像函数大全

Matlab中图像函数大全 图像增强 除高频噪声 1、lps 2、中值滤波(非线性) 3、空域模板滤波 1. 直方图均衡化的 Matlab 实现 1.1 imhist 函数 功能:计算和显示图像的色彩直方图 格式:imhist(I,n) imhist(X,map) 说明:imhist(I,n) 其中,n 为指定的灰度级数目,缺省值为256;imhist(X,map) 就算和显示索引色图像 X 的直方图,map 为调色板。用 stem(x,counts) 同样可以显示直方图。 1.2 imcontour 函数 功能:显示图像的等灰度值图 格式:imcontour(I,n),imcontour(I,v) 说明:n 为灰度级的个数,v 是有用户指定所选的等灰度级向量。 1.3 imadjust 函数 功能:通过直方图变换调整对比度 格式:J=imadjust(I,[low high],[bottom top],gamma) newmap=imadjust(map,[low high],[bottom top],gamma) 说明:J=imadjust(I,[low high],[bottom top],gamma) 其中,gamma 为校正量r,[low high] 为原图像中要变换的灰度范围,[bottom top] 指定了变换后的灰度范围;newmap=imadjust(map,[low high],[bottom top],gamma) 调整索引色图像的调色板 map 。此时若 [low high] 和 [bottom top] 都为2×3的矩阵,则分别调整 R、G、B 3个分量。 1.4 histeq 函数 功能:直方图均衡化 格式:J=histeq(I,hgram) J=histeq(I,n) [J,T]=histeq(I,...) newmap=histeq(X,map,hgram) newmap=histeq(X,map) [new,T]=histeq(X,...)

Matlab对采样数据进行频谱分析

使用Matlab对采样数据进行频谱分析 1、采样数据导入Matlab 采样数据的导入至少有三种方法。 第一就是手动将数据整理成Matlab支持的格式,这种方法仅适用于数据量比较小的采样。 第二种方法是使用Matlab的可视化交互操作,具体操作步骤为:File --> Import Data,然后在弹出的对话框中找到保存采样数据的文件,根据提示一步一步即可将数据导入。这种方法适合于数据量较大,但又不是太大的数据。据本人经验,当数据大于15万对之后,读入速度就会显著变慢,出现假死而失败。 第三种方法,使用文件读入命令。数据文件读入命令有textread、fscanf、load 等,如果采样数据保存在txt文件中,则推荐使用 textread命令。如 [a,b]=textread('data.txt','%f%*f%f'); 这条命令将data.txt中保存的数据三个三个分组,将每组的第一个数据送给列向量a,第三个数送给列向量b,第二个数据丢弃。命令类似于C语言,详细可查看其帮助文件。文件读入命令录入采样数据可以处理任意大小的数据量,且录入速度相当快,一百多万的数据不到20秒即可录入。强烈推荐! 2、对采样数据进行频谱分析 频谱分析自然要使用快速傅里叶变换FFT了,对应的命令即 fft ,简单使用方法为:Y=fft(b,N),其中b即是采样数据,N为fft数据采样个数。一般不指定N,即简化为Y=fft(b)。Y即为FFT变换后得到的结果,与b的元素数相等,为复数。以频率为横坐标,Y数组每个元素的幅值为纵坐标,画图即得数据b的幅频特性;以频率为横坐标,Y数组每个元素的角度为纵坐标,画图即得数据b的相频特性。典型频谱分析M程序举例如下: clc fs=100; t=[0:1/fs:100]; N=length(t)-1;%减1使N为偶数 %频率分辨率F=1/t=fs/N p=1.3*sin(0.48*2*pi*t)+2.1*sin(0.52*2*pi*t)+1.1*sin(0.53*2*pi*t)... +0.5*sin(1.8*2*pi*t)+0.9*sin(2.2*2*pi*t); %上面模拟对信号进行采样,得到采样数据p,下面对p进行频谱分析 figure(1) plot(t,p); grid on title('信号 p(t)'); xlabel('t') ylabel('p')

MATLAB图像处理相关函数

一、通用函数: colorbar显示彩色条 语法:colorbar \ colorbar('vert') \ colorbar('horiz') \ colorbar(h) \ h=colorbar(...) \ colorbar(...,'peer',axes_handle) getimage 从坐标轴取得图像数据 语法:A=getimage(h) \ [x,y,A]=getimage(h) \ [...,A,flag]=getimage(h) \ [...]=getimage imshow 显示图像 语法:imshow(I,n) \ imshow(I,[low high]) \ imshow(BW) \ imshow(X,map) \ imshow(RGB)\ imshow(...,display_option) \ imshow(x,y,A,...) \ imshow filename \ h=imshow(...) montage 在矩形框中同时显示多幅图像 语法:montage(I) \ montage(BW) \ montage(X,map) \ montage(RGB) \ h=montage(...) immovie 创建多帧索引图的电影动画 语法:mov=immovie(X,map) \ mov=immovie(RGB) subimage 在一副图中显示多个图像 语法:subimage(X,map) \ subimage(I) \ subimage(BW) \ subimage(RGB) \ subimage(x,y,...) \ subimage(...) truesize 调整图像显示尺寸 语法:truesize(fig,[mrows mcols]) \ truesize(fig) warp 将图像显示到纹理映射表面 语法:warp(X,map) \ warp(I ,n) \ warp(z,...) warp(x,y,z,...) \ h=warp(...) zoom 缩放图像 语法:zoom on \ zoom off \ zoom out \ zoom reset \ zoom \ zoom xon \ zoom yon\ zoom(factor) \ zoom(fig,option) 二、图像文件I/O函数命令 imfinfo 返回图形图像文件信息 语法:info=imfinfo(filename,fmt) \ info=imfinfo(filename) imread 从图像文件中读取(载入)图像 语法:A=imread(filename,fmt) \ [X,map]=imread(filename,fmt) \

Matlab画函数图像

用Matlab画函数图像 一、螺旋线 1.静态螺旋线 a=0:0.1:20*pi; h=plot3(a.*cos(a),a.*sin(a),2.*a,'b','linewidth',2); axis([-50,50,-50,50,0,150]); grid on set(h,'erasemode','none','markersize',22); xlabel('x轴');ylabel('y轴');zlabel('z轴'); title('静态螺旋线'); 2.动态螺旋线 t=0:0.1:10*pi; i=1; h=plot3(sin(t(i)),cos(t(i)),t(i),'*','erasemode','none'); grid on axis([-2 2 -2 2 0 35]) for i=2:length(t)

set(h,'xdata',sin(t(i)),'ydata',cos(t(i)),'zdata',t(i)); drawnow pause(0.01) end title('动态螺旋线'); (图略) 3.圆柱螺旋线 t=0:0.1:10*pi; x=r.*cos(t); y=r.*sin(t); z=t; plot3(x,y,z,'h','linewidth',2); grid on axis('square') xlabel('x轴');ylabel('y轴');zlabel('z轴'); title('圆柱螺旋线') 二、旋转抛物面

b=0:0.2:2*pi; [X,Y]=meshgrid(-6:0.1:6); Z=(X.^2+Y.^2)./4; meshc(X,Y,Z); axis('square') xlabel('x轴');ylabel('y轴');zlabel('z轴'); title('旋转抛物面') 或直接用:ezsurfc('(X.^2+Y.^2)./4') 三、椭圆柱面 load clown ezsurf('(2*cos(u))','4*sin(u)','v',[0,2*pi,0,2*pi]) view(-105,40) %视角处理 shading interp %灯光处理 colormap(map) %颜色处理 grid on %添加网格线 axis equal %使x,y轴比例一致 xlabel('x轴');ylabel('y轴');zlabel('z轴'); %添加坐标轴说明title('椭圆柱面') %添加标题

Matlab大数据处理

Matlab大数据处理2:硬盘访问.mat文件 分类:Matlab Hack2013-09-08 20:16 146人阅读评论(0) 收藏举报Matlab程序中经常要访问.mat文件,通常在作法是用load函数直接加载.mat文件。如果.mat文件非常大,超过了系统可用内存的时候该怎么办呢?Matlab2013b为提供了matfile函数,matfile函数可以通过索引直接访问.mat文件中的Matlab变量,而无需将.mat文件加载入内存。 matfile有两种用法: m = matfile(filename),用文件名创建matfile对象,通过这个对象可以直接访问mat文件中的matlab变量。 m = matfile(filename,'Writable',isWritable),isWritable开启或关闭文件写操作。 使用示例: 1. 向mat文件中写入变量 x = magic(20); m = matfile('myFile.mat'); % 创建一个指向myFile.mat的matfile对象 m.x = x; % 写入x m.y(81:100,81:100) = magic(20); % 使用坐标索引

2. 加载变量 filename = 'topography.mat'; m = matfile(filename); topo = m.topo; %读取变量topo [nrows,ncols] = size(m,'stocks'); %读取stocks变量的size avgs = zeros(1,ncols); for idx = 1:ncols avgs(idx) = mean(m.stocks(:,idx)); end 3. 开启写权限 filename = 'myFile.mat'; m = matfile(filename,'Writable',true); 或者 m.Properties.Writable = true;

MATLAB中图像函数大全 详解及例子

图像处理函数详解——strel 功能:用于膨胀腐蚀及开闭运算等操作的结构元素对象(本论坛随即对膨胀腐蚀等操作进行讲解)。 用法:SE=strel(shape,parameters) 创建由指定形状shape对应的结构元素。其中shape的种类有 arbitrary' 'pair' 'diamond' 'periodicline' 'disk' 'rectangle' 'line' 'square' 'octagon 参数parameters一般控制SE的大小。 例子: se1=strel('square',6) %创建6*6的正方形 se2=strel('line',10,45) %创建直线长度10,角度45 se3=strel('disk',15) %创建圆盘半径15 se4=strel('ball',15,5) %创建椭圆体,半径15,高度5

图像处理函数详解——roipoly 功能:用于选择图像中的多边形区域。 用法:BW=roipoly(I,c,r) BW=roipoly(I) BW=roipoly(x,y,I,xi,yi) [BW,xi,yi]=roipoly(...) [x,y,BW,xi,yi]=roipoly(...) BW=roipoly(I,c,r)表示用向量c、r指定多边形各点的X、Y坐标。BW选中的区域为1,其他部分的值为0. BW=roipoly(I)表示建立交互式的处理界面。 BW=roipoly(x,y,I,xi,yi)表示向量x和y建立非默认的坐标系,然后在指定的坐标系下选择由向量xi,yi指定的多边形区域。 例子:I=imread('eight.tif'); c=[222272300270221194]; r=[21217512112175]; BW=roipoly(I,c,r); imshow(I)

matlab文件的导入导出

GprMaxV2.0中GprMax2D输入文件的命令(1/2) 原创 修改人 修改时间 版本 微风无尘 微风无尘 2012.3.9 V1.1 实验环境: 操作系统:Windows 7 软件版本:MATLAB 7.1 & GprMaxV2.0 参考文献: GprMaxV2.0软件manual文件夹下的UserGuideV2.pdf。 GprMaxV2.0下载地址:https://www.360docs.net/doc/265387315.html,/Download.html 说明:翻译得不好,还望大家见谅,因为我也是边看边译的。 3.1 GprMax2D命令的一般注意事项 为了描述GprMax2D/3D命令及其参数,我们作以下约定: f表示浮点数(如1.5或15e-1、1.5e1) i表示整数

c表示字符 str表示字符串 file表示输入文件名 所有空间距离的基本单位为米 所有时间的基本单位为秒 所有频率参数的基本单位是Hz 3.2 GprMax2D 2.0版本共有32条命令:#title: #domain: #dx_dy: #time_step_stability_factor: #time_window: #messages: #number_of_media: #nips_number: #media_file: #geometry_file: #medium: #abc_type:

#abc_order: #abc_stability_factors: #abc_optimization_angles: #abc_mixing_parameters: #pml_layers: #box: #cylinder: #x_segment: #y_segment: #triangle: #analysis: #end_analysis: #tx: #rx: #rx_box: #snapshot: #tx_steps: #rx_steps: #line_source: #excitation_file:

Matlab数据文件的读写

Matlab数据文件的读写 在编写一个程序时,经常需要从外部读入数据,或者将程序运行的结果保存为文件。MATLAB使用多种格式打开和保存数据。本章将要介绍MATLAB中文件的读写和数据的导入导出。 了解MATLAB的基本数据操作 掌握MATLAB中文本文件的读写方式 掌握MATLAB通过界面导入导出数据 了解MATLAB中的基本输入输出函数 13.1 数据基本操作 本节介绍基本的数据操作,包括工作区的保存、导入和文件打开。 13.1.1 文件的存储 MATLAB支持工作区的保存。用户可以将工作区或工作区中的变量以文件的形式保存,以备在需要时再次导入。保存工作区可以通过菜单进行,也可以通过命令窗口进行。 1. 保存整个工作区 选择File菜单中的Save Workspace As…命令,或者单击工作区浏览器工具栏中的Save,可以将工作区中的变量保存为MAT文件。 2. 保存工作区中的变量 在工作区浏览器中,右击需要保存的变量名,选择Save

As…,将该变量保存为MAT文件。 3. 利用save命令保存 该命令可以保存工作区,或工作区中任何指定文件。该命令的调用格式如下: ● save:将工作区中的所有变量保存在当前工作区中的文件中,文件名为matlab.mat,MAT文件可以通过load函数再次导入工作区,MAT函数可以被不同的机器导入,甚至可以通过其他的程序调用。 ● save('filename'):将工作区中的所有变量保存为文件,文件名由filename指定。如果filename中包含路径,则将文件保存在相应目录下,否则默认路径为当前路径。 ● save('filename', 'var1', 'var2', ...):保存指定的变量在filename 指定的文件中。 ● save('filename', '-struct', 's'):保存结构体s中全部域作为单独的变量。 ● save('filename', '-struct', 's', 'f1', 'f2', ...):保存结构体s中的指定变量。 ● save('-regexp', expr1, expr2, ...):通过正则表达式指定待保存的变量需满足的条件。 ● save('..., 'format'),指定保存文件的格式,格式可以为MAT 文件、ASCII文件等。 13.1.2 数据导入

第6章matlab数据分析与多项式计算_习题答案

第6章 MATLAB数据分析与多项式计算 习题6 一、选择题 1.设A=[1,2,3,4,5;3,4,5,6,7],则min(max(A))的值是()。B A.1 B.3 C.5 D.7 2.已知a为3×3矩阵,则运行mean(a)命令是()。B A.计算a每行的平均值 B.计算a每列的平均值 C.a增加一行平均值 D.a增加一列平均值 3.在MATLAB命令行窗口输入下列命令: >> x=[1,2,3,4]; >> y=polyval(x,1); 则y的值为()。 D A.5 B.8 C.24 D.10 4.设P是多项式系数向量,A为方阵,则函数polyval(P,A)与函数polyvalm(P,A)的值()。D A.一个是标量,一个是方阵 B.都是标量 C.值相等 D.值不相等 5.在MATLAB命令行窗口输入下列命令: >> A=[1,0,-2]; >> x=roots(A); 则x(1)的值为()。 C A.1 B.-2 C. D. 6.关于数据插值与曲线拟合,下列说法不正确的是()。A A.3次样条方法的插值结果肯定比线性插值方法精度高。 B.插值函数是必须满足原始数据点坐标,而拟合函数则是整体最接近原始数据点,而不一定要必须经过原始数据点。 C.曲线拟合常常采用最小二乘原理,即要求拟合函数与原始数据的均方误差达到极小。 D.插值和拟合都是通过已知数据集来求取未知点的函数值。 二、填空题 1.设A=[1,2,3;10 20 30;4 5 6],则sum(A)= ,median(A)= 。 [15 27 39],[4 5 6[ 2.向量[2,0,-1]所代表的多项式是。2x2-1 3.为了求ax2+bx+c=0的根,相应的命令是(假定a、b、c已经赋值)。为了

Matlab中图像函数大全

图像增强 1. 直方图均衡化的Matlab 实现 1.1 imhist 函数 功能:计算和显示图像的色彩直方图 格式:imhist(I,n) imhist(X,map) 说明:imhist(I,n) 其中,n 为指定的灰度级数目,缺省值为256;imhist(X, map) 就算和显示索引色图像X 的直方图,map 为调色板。用stem(x,coun ts) 同样可以显示直方图。 1.2 imcontour 函数 功能:显示图像的等灰度值图 格式:imcontour(I,n),imcontour(I,v) 说明:n 为灰度级的个数,v 是有用户指定所选的等灰度级向量。 1.3 imadjust 函数 功能:通过直方图变换调整对比度 格式:J=imadjust(I,[low high],[bottom top],gamma) newmap=imadjust(map,[low high],[bottom top],gamma) 说明:J=imadjust(I,[low high],[bottom top],gamma) 其中,gamma 为校正量r,[low high] 为原图像中要变换的灰度范围,[bottom top] 指定了变换后的灰度范围;newmap=imadjust(map,[low high],[bottom top],gamm a) 调整索引色图像的调色板map 。此时若[low high] 和[bottom top] 都为2×3的矩阵,则分别调整R、G、B 3个分量。

1.4 histeq 函数 功能:直方图均衡化 格式:J=histeq(I,hgram) J=histeq(I,n) [J,T]=histeq(I,...) newmap=histeq(X,map,hgram) newmap=histeq(X,map) [new,T]=histeq(X,...) 说明:J=histeq(I,hgram) 实现了所谓“直方图规定化”,即将原是图象I 的直方图变换成用户指定的向量hgram 。hgram 中的每一个元素都在[0,1] 中;J=histeq(I,n) 指定均衡化后的灰度级数n ,缺省值为64;[J,T]=histeq(I,...)返回从能将图像I 的灰度直方图变换成图像J 的直方图的变换T ;newma p=histeq(X,map) 和[new,T]=histeq(X,...) 是针对索引色图像调色板的直方图均衡。 2. 噪声及其噪声的Matlab 实现 imnoise 函数 格式:J=imnoise(I,type) J=imnoise(I,type,parameter) 说明:J=imnoise(I,type) 返回对图像I 添加典型噪声后的有噪图像J ,参数type 和parameter 用于确定噪声的类型和相应的参数。 3. 图像滤波的Matlab 实现 3.1 conv2 函数 功能:计算二维卷积

实验一数据处理方法MATLAB实现

实验一数据处理方法的MATLAB实现 一、实验目的 学会在MATLAB环境下对已知的数据进行处理。 二、实验方法 1. 求取数据的最大值或最小值。 2. 求取向量的均值、标准方差和中间值。 3.在MATLAB环境下,对已知的数据分别进行曲线拟合和插值。 三、实验设备 1.586以上微机,16M以上内存,400M硬盘空间,2X CD-ROM 2.MATLAB5.3以上含CONTROL SYSTEM TOOLBOX。 四、实验内容 1.在MATLAB环境下,利用MATLAB控制系统工具箱中的函数直接求取数据的最大值或最小值,以及向量的均值、标准方差和中间值。 2.在MATLAB环境下,选择合适的曲线拟合和插值方法,编写程序,对已知的数据分别进行曲线拟合和插值。 五、实验步骤 1. 在MATLAB环境下,将已知的数据存到数据文件mydat.mat中。 双击打开Matlab,在命令窗口(command window)中,输入一组数据:实验一数据处理方法的MATLAB实现 一、实验目的 学会在MATLAB环境下对已知的数据进行处理。 二、实验方法 1. 求取数据的最大值或最小值。 2. 求取向量的均值、标准方差和中间值。 3.在MATLAB环境下,对已知的数据分别进行曲线拟合和插值。 三、实验设备 1.586以上微机,16M以上内存,400M硬盘空间,2X CD-ROM 2.MATLAB5.3以上含CONTROL SYSTEM TOOLBOX。 四、实验内容

1.在MATLAB环境下,利用MATLAB控制系统工具箱中的函数直接求取数据的最大值或最小值,以及向量的均值、标准方差和中间值。 2.在MATLAB环境下,选择合适的曲线拟合和插值方法,编写程序,对已知的数据分别进行曲线拟合和插值。 五、实验步骤 1. 在MATLAB环境下,将已知的数据存到数据文件mydat.mat中。 双击打开Matlab,在命令窗口(command window)中,输入一组数据: x=[1,4,2,81,23,45] x = 1 4 2 81 2 3 45 单击保存按钮,保存在Matlab指定目录(C:\Program Files\MATLAB71)下,文件名为“mydat.mat”。 2. 在MATLAB环境下,利用MATLAB控制系统工具箱中的函数直接求取数据的最大值或最小值,以及向量的均值、标准方差和中间值。 继续在命令窗口中输入命令: (1)求取最大值“max(a)”; >> max(x) ans = 81 (2)求取最小值“min(a)”; >> min(x) ans = 1 (3)求取均值“mean(a)”; >> mean(x) ans =

Matlab中图像处理常用函数的用法

Matlab中常见函数的用法 1size()函数 1)s=size(A), 当只有一个输出参数时,返回一个行向量,该行向量的第一个元素时矩阵的行数,第二个元素是矩阵的列数。 2)[r,c]=size(A), 当有两个输出参数时,size函数将矩阵的行数返回到第一个输出变量r,将矩阵的列数返回到第二个输出变量c。 3)size(A,n) 如果在size函数的输入参数中再添加一项n,并用1、2或者3为n赋值,则 size将返回矩阵的行数或列数。其中r=size(A,1)该语句返回的时矩阵A的行数, c=size(A,2) 该语句返回的时矩阵A的列数。如果A为一个二维数组,则可以将其看成一个第三维为1的数组,即size(A,3)的返回值为1。 2padarray()函数 B = padarray(A,padsize,padval,direction) A为输入图像,B为填充后的图像,padsize给出了给出了填充的行数和列数,通常用[r c]来表示。padval和direction分别表示填充方法和方向。它们的具体值和描述如下:Padval选项:'symmetric'表示图像大小通过围绕边界进行镜像反射来扩展; 'replicate'表示图像大小通过复制外边界中的值来扩展; 'circular'图像大小通过将图像看成是一个二维周期函数的一个周期来进行扩展。Direction选项:'pre'表示在每一维的第一个元素前填充; 'post'表示在每一维的最后一个元素后填充; 'both'表示在每一维的第一个元素前和最后一个元素后填充,此项为默认值。 若参量中不包括direction,则默认值为'both';若参量中不包含padval,则默认用0来填充。若参量中不包括任何参数,则默认填充为零且方向为'both'。在计算结束时,图像会被修剪成原始大小。 3 meshgrid()函数 meshgrid用于从数组a和b产生网格。生成的网格矩阵A和B大小是相同的,它也可以是更高维的。该函数在使用matlab进行3-D图形的绘制方面有着广泛的应用。 [A,B]=Meshgrid(a,b),生成size(b)*size(a)大小的矩阵A和B。A矩阵相当于a从一行重复增加到size(b)行,B矩阵相当于把b转置成一列再重复增加到size(a)列。因此命令等效于A=ones(size(b))*a;B=b'*ones(size(a)) 实例:a=[1:2];a =12;b=[3:5];b =345;[A,B]=meshgrid(a,b) A = 1 2 1 2 1 2 B = 3 3 4 4 5 5 4 find()函数 find函数用于找到非零元素的索引和值。 1)ind = find(X) 找出矩阵X中的所有非零元素,并将这些元素的线性索引值(linear indices:按列)

matlab导出数据(fprintf,dlmwrite,xlswrite)

matlab导出数据(fprintf,dlmwrite,xlswrite) 1.用fprintf 函数写数据到txt,xls Example: x = 0:.1:1; y = [x; exp(x)]; fid = fopen('exp.txt', 'w'); fprintf(fid, '%6.2f %12.8f\n', y); fclose(fid) tip:执行上述代码执行,肯定不会换行的,换行的问题试一下下面的代码 x = 0:.1:1; y = [x; exp(x)]; fid = fopen('exp.txt', 'wt'); fprintf(fid, '%6.2f %12.8f\n', y); fclose(fid); x = 1; fid = fopen('exp.txt', 'w'); fprintf(fid, '%d', x); fclose(fid); 这次就没有问题了,我们要注意fopne的参数wt 而不是 w,这是matlab的在线帮助的东东 fid = fopen(filename, permission_tmode) on Windows systems, opens the file in text mode instead of binary mode (the default). The permission_tmode argument consists of any of the specifiers shown in the Permission Specifiers table above, followed by the letter t, for example 'rt' or 'wt+. On UNIX?systems, text and binary mode are the same. (UNIX is a registered trademark of The Open Group in the United States and other countries). 就是有两种读取模式binary or text. When choosing the binary model,No characters are given special treatment. 所以我们选择要注明text模式。 2. dlmwrite :将一个矩阵写到由分隔符分割的文件中。 在保存整数到文件时使用save存为ascii文件时,常常是文件里都是实型格式的数据(有小数点,和后面很多的0,看着很不方便)。于是要保存此类数据时,我们可以使用此dlmwrite命令。

Matlab图像处理函数汇总

1、图像的变换 ①fft2:fft2函数用于数字图像的二维傅立叶变换,如:i=imread('104_8.tif'); j=fft2(i); ②ifft2::ifft2函数用于数字图像的二维傅立叶反变换,如: i=imread('104_8.tif'); j=fft2(i); k=ifft2(j); 2、模拟噪声生成函数和预定义滤波器 ①imnoise:用于对图像生成模拟噪声,如: i=imread('104_8.tif'); j=imnoise(i,'gaussian',0,0.02);%模拟高斯噪声 ②fspecial:用于产生预定义滤波器,如: h=fspecial('sobel');%sobel水平边缘增强滤波器 h=fspecial('gaussian');%高斯低通滤波器 h=fspecial('laplacian');%拉普拉斯滤波器 h=fspecial('log');%高斯拉普拉斯(LoG)滤波器 h=fspecial('average');%均值滤波器 2、图像的增强 ①直方图:imhist函数用于数字图像的直方图显示,如: i=imread('104_8.tif'); imhist(i); ②直方图均化:histeq函数用于数字图像的直方图均化,如: i=imread('104_8.tif'); j=histeq(i); ③对比度调整:imadjust函数用于数字图像的对比度调整,如:i=imread('104_8.tif'); j=imadjust(i,[0.3,0.7],[]); ④对数变换:log函数用于数字图像的对数变换,如: i=imread('104_8.tif'); j=double(i);

Matlab中图像函数

Matlab中图像函数 图像增强 1.直方图均衡化的Matlab实现 1.1 imhist函数 功能:计算和显示图像的色彩直方图 格式:imhist(I,n),imhist(X,map) 说明:imhist(I,n)其中,n为指定的灰度级数目,缺省值为256;imhist(X,map)就算和显示索引色图像X的直方图,map为调色板。用stem(x,counts)同样可以显示直方图。 1.2 imcontour函数 功能:显示图像的等灰度值图 格式:imcontour(I,n),imcontour(I,v) 说明:n为灰度级的个数,v是有用户指定所选的等灰度级向量。 1.3 imadjust函数 功能:通过直方图变换调整对比度 格式:J=imadjust(I,[low high],[bottom top],gamma) newmap=imadjust(map,[low high],[bottom top],gamma) 说明:J=imadjust(I,[lowhigh],[bottomtop],gamma)其中,gamma为校正量r,[lowhigh]为原图像中要变换的灰度范围,[bottomtop]指定了变换后的灰度范围; newmap=imadjust(map,[lowhigh],[bottomtop],gamma)调整索引色图像的调色板map。此时若[lowhigh]和[bottomtop]都为2×3的矩阵,则分别调整R、G、B,3个分量。 1.4 histeq函数 功能:直方图均衡化 格式:J=histeq(I,hgram) J=histeq(I,n) [J,T]=histeq(I,...) newmap=histeq(X,map,hgram) newmap=histeq(X,map) [new,T]=histeq(X,...) 说明:J=histeq(I,hgram)实现了所谓“直方图规定化”,即将原是图象I的直方图变换成用户指定的向量hgram。hgram中的每一个元素都在[0,1]中;J=histeq(I,n)指定均衡化后的灰度级数n,缺省值为64;[J,T]=histeq(I,...)返回从能将图像I的灰度直方图变换成图像J的直方图

相关文档
最新文档