|
|
EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
load是导入文件,一般从mat文件中$ h1 M/ Q) G9 P. {( c% l$ I/ x( p
4 L9 k3 Z7 ~: }, B Z5 T8 H5 R
imread是图像处理工具箱的库函数,处理图像比较方便) p) F D) g1 O3 [' k( Z5 w1 B/ X
$ E n+ u9 m4 { Z5 N3 e2 {9 u4 I: tLoad 命令* X4 O) a \# @- \" a' f; P
- N: s3 f1 z: H$ e7 X/ u; t 命令 功能 & Y- ?8 q5 v6 P4 u
load Filename 将名为Filename的MAT文件中的所有变量加载到工作空间中* J# Y) k5 L8 s/ k7 L) O3 z
load Filename x y z 将名为Filename的MAT文件中的x、y、z等指定变量加载到工作空间中
0 ?* @. `3 e C0 s load Filename -regexp pat1 pat2 将名为Filename的MAT文件中符合表达式要求的变量加载到工作空间中5 G) }8 z5 q* r* T0 [4 F" H a" t
load Filename x y z -ASCII 将名为Filename的8位ASCII文件中的x、y、z等指定变量加载到工作空间中
& w3 y. {% E8 h; P$ g5 z
0 |. u, R: E% J# }8 iload 是读取matalab本身附带的索引图(具体路径是C:\MATLAB2009\toolbox\wavelet\wavedemo);而imread是读取你自己的图片(也就是你电脑上的图)
* {7 T+ y' F- i" {
4 o+ b& G% p3 n4 E1 O2 q% b9 }% w% vimread
6 ^ T. k+ @: o该函数用于读取图片文件中的数据。在matlab的命令窗口中输入doc imread或者help imread即可获得该函数的帮助信息。
* f4 B1 e0 U* e" B+ B/ B1 L! M2 ?matlab的imread很强大,一个命令可以读取各种类型的图像。但是imread并不是一个实际功能函数。不同的图像格式有不同的编码方式,因此有不同的读取方式。实际上,为每种不同格式的图像编写各自的读取函数是适当的,实际中也是这么做的。
& I: w; Y5 ]" L( xmatlab就是这样的,imread只是一个入口函数。它仅仅是做了一些文件名的处理,从你的文件名中,找到绝对路径,找到图像后缀名,然后调用合适的读取函数。
, S9 x0 }/ o: b+ Y( w, ^% V% @, U比如你打开\toolbox\matlab\imagesci\private文件夹会看到很多诸如readjpg.m,readtif.m的文件。这些才是不同格式图片读取的真正函数,但是!这些函数也不是实际功能函数!你打开这些m函数就可以看到里面其实很简单。它们所做的事情和imread差不多。也是调用了一些别的函数。比如readjpg.m里的实际读取函数是rjpg8c rjpg16c 这些。你会发现这些文件也存在于上面所说的这个文件夹中,但是它们的后缀名不是.m,而是.mexw32(.mexw64 for 64bit),这些实际功能函数并不是用matlab编写的,而是用C编写的,它们是经过编译的文件,不是文本文件。matlab只是调用他们而已。
. ]: o# \& ]" p. M也就是说实际上matlab读取图像也是调用了C语言编写的代码。而且不同格式的图像有不同的代码。imread只不过是个入口函数而已。7 b% ]6 N' K* Z
这种结构在matlab里非常非常非常常见。
/ ?3 n: F8 A( r, @管中窥豹,可见一斑,看来matlab高级语言得以应用也是建立在C语言的架构之上的。
d; z# _% z: [1 e$ r
. b! Q+ h9 ?: s# C; ^& i! d( l6 K: _- d# H# g; ?9 v' t6 W6 o
U$ d* Q+ _" X/ {: k z |
|