EDA365电子论坛网
标题:
matlab中imread与load有哪些区别?
[打印本页]
作者:
uqHZau
时间:
2020-7-14 11:09
标题:
matlab中imread与load有哪些区别?
load是导入文件,一般从mat文件中
3 D% o" n. E4 R5 k( m! _/ J/ a8 G0 H
9 {7 [6 y7 u* o+ @7 }- J' _- N
imread是图像处理工具箱的库函数,处理图像比较方便
) R: f: A7 t' i
( x" s3 `; n; |3 p5 j' g
Load 命令
5 p& w5 M4 B& _- e
6 Y3 b6 e+ O( \( Y4 d$ o' I
命令 功能
0 G. z* p0 o1 N7 x+ O8 ^( z/ [6 d4 W
load Filename 将名为Filename的MAT文件中的所有变量加载到工作空间中
9 E5 k. ?; o( U8 E {6 ~; d d
load Filename x y z 将名为Filename的MAT文件中的x、y、z等指定变量加载到工作空间中
% j* C5 J* Z Z4 j* t6 \ E. \: a
load Filename -regexp pat1 pat2 将名为Filename的MAT文件中符合表达式要求的变量加载到工作空间中
3 \: z' ~. G$ r4 E; v" ?
load Filename x y z -ASCII 将名为Filename的8位ASCII文件中的x、y、z等指定变量加载到工作空间中
0 {+ X; t" m; p, R
, h0 X: ?/ W4 \! Y" [' P
load 是读取matalab本身附带的索引图(具体路径是C:\MATLAB2009\toolbox\wavelet\wavedemo);而imread是读取你自己的图片(也就是你电脑上的图)
2 i# A# I9 P, J1 M8 N. U- Y1 T
! V) L; Q+ L' c! i5 F3 \5 e
imread
+ d2 m' s4 T3 h/ k
该函数用于读取图片文件中的数据。在matlab的命令窗口中输入doc imread或者help imread即可获得该函数的帮助信息。
{0 R9 W+ i1 B5 T" |+ P0 o
matlab的imread很强大,一个命令可以读取各种类型的图像。但是imread并不是一个实际功能函数。不同的图像格式有不同的编码方式,因此有不同的读取方式。实际上,为每种不同格式的图像编写各自的读取函数是适当的,实际中也是这么做的。
6 p v4 U9 v, S7 w3 u
matlab就是这样的,imread只是一个入口函数。它仅仅是做了一些文件名的处理,从你的文件名中,找到绝对路径,找到图像后缀名,然后调用合适的读取函数。
! @. z6 j$ h+ o3 x% ]
比如你打开\toolbox\matlab\imagesci\private文件夹会看到很多诸如readjpg.m,readtif.m的文件。这些才是不同格式图片读取的真正函数,但是!这些函数也不是实际功能函数!你打开这些m函数就可以看到里面其实很简单。它们所做的事情和imread差不多。也是调用了一些别的函数。比如readjpg.m里的实际读取函数是rjpg8c rjpg16c 这些。你会发现这些文件也存在于上面所说的这个文件夹中,但是它们的后缀名不是.m,而是.mexw32(.mexw64 for 64bit),这些实际功能函数并不是用matlab编写的,而是用C编写的,它们是经过编译的文件,不是文本文件。matlab只是调用他们而已。
: _% R' i I5 I0 M$ S
也就是说实际上matlab读取图像也是调用了C语言编写的代码。而且不同格式的图像有不同的代码。imread只不过是个入口函数而已。
- \* M; W+ {, B7 ]
这种结构在matlab里非常非常非常常见。
- \- h! w- `! g# O f' X4 U
管中窥豹,可见一斑,看来matlab高级语言得以应用也是建立在C语言的架构之上的。
0 O3 b Y) R0 l! B; n
& t$ j& F/ \, _ q3 a
% \2 ~) ~0 x3 ~
+ c# I9 E7 ^" y( c3 d0 x# V
作者:
yin123
时间:
2020-7-14 13:21
matlab中imread与load有哪些区别
欢迎光临 EDA365电子论坛网 (https://bbs.eda365.com/)
Powered by Discuz! X3.2