|
|
EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
load是导入文件,一般从mat文件中* S. D2 `+ E/ M) T' L" r
" O9 g9 M8 @; b1 H% k) u2 P0 i& `& Timread是图像处理工具箱的库函数,处理图像比较方便
/ E5 _8 F/ o: T5 {
# ?$ B1 p" q4 B* SLoad 命令
3 w: m0 Z$ c c6 w% f0 g9 f+ |* P" C7 o* X' [
命令 功能 , { ^* H- [% a/ L
load Filename 将名为Filename的MAT文件中的所有变量加载到工作空间中
' a* p( w% [) m8 n% v load Filename x y z 将名为Filename的MAT文件中的x、y、z等指定变量加载到工作空间中
4 ~# ~4 e/ s1 c; m/ A7 a+ u load Filename -regexp pat1 pat2 将名为Filename的MAT文件中符合表达式要求的变量加载到工作空间中
j( O6 }0 ?% s4 |4 y9 ]1 i- z load Filename x y z -ASCII 将名为Filename的8位ASCII文件中的x、y、z等指定变量加载到工作空间中: R8 _ |1 n. @+ c3 s! o
. |$ p5 ]; ^9 V( v, g4 m q
load 是读取matalab本身附带的索引图(具体路径是C:\MATLAB2009\toolbox\wavelet\wavedemo);而imread是读取你自己的图片(也就是你电脑上的图)4 _+ ^* S8 m2 z5 L) _, u
7 }# C/ D3 d; ], t9 f, K. @
imread
+ c$ @7 F# h9 D0 n J该函数用于读取图片文件中的数据。在matlab的命令窗口中输入doc imread或者help imread即可获得该函数的帮助信息。* H+ F7 u* d& z) B Z, `) m! u
matlab的imread很强大,一个命令可以读取各种类型的图像。但是imread并不是一个实际功能函数。不同的图像格式有不同的编码方式,因此有不同的读取方式。实际上,为每种不同格式的图像编写各自的读取函数是适当的,实际中也是这么做的。
- O8 H+ b. t3 B' E, F# ?* O A$ Z7 Xmatlab就是这样的,imread只是一个入口函数。它仅仅是做了一些文件名的处理,从你的文件名中,找到绝对路径,找到图像后缀名,然后调用合适的读取函数。
; N% a1 x9 F* | F/ L) }9 D, K比如你打开\toolbox\matlab\imagesci\private文件夹会看到很多诸如readjpg.m,readtif.m的文件。这些才是不同格式图片读取的真正函数,但是!这些函数也不是实际功能函数!你打开这些m函数就可以看到里面其实很简单。它们所做的事情和imread差不多。也是调用了一些别的函数。比如readjpg.m里的实际读取函数是rjpg8c rjpg16c 这些。你会发现这些文件也存在于上面所说的这个文件夹中,但是它们的后缀名不是.m,而是.mexw32(.mexw64 for 64bit),这些实际功能函数并不是用matlab编写的,而是用C编写的,它们是经过编译的文件,不是文本文件。matlab只是调用他们而已。% k2 c9 a W" C2 P. @
也就是说实际上matlab读取图像也是调用了C语言编写的代码。而且不同格式的图像有不同的代码。imread只不过是个入口函数而已。
' \" K4 T" J5 ^9 [5 B这种结构在matlab里非常非常非常常见。
8 W8 K0 k' R: \7 N管中窥豹,可见一斑,看来matlab高级语言得以应用也是建立在C语言的架构之上的。3 ?. p) g' V: X
5 z) P3 {8 R9 p) s7 c4 O3 x) A: l* [) H. R
M: ~; o6 k9 P! o |
|