PDA

查看完整版本 : [求助]非常不明白,imshow处应该写什么才能正确显示图像?


Jael
2009-03-08, 21:44
我想打开一个名为CrimeFprint.mat的图像文件,所以写了一段程序
load('CrimeFprint.mat');
f=fopen('CrimeFprint.mat');
imshow(f);
运行后没错,但是没有图像出现,这是为什么呢? 于是我又改了一段:
load('CrimeFprint.mat');
fopen('CrimeFprint.mat');
imshow('CrimeFprint.mat');
结果出现以下错误:
??? Error using ==> imuitools\private\imageDisplayParseInputs>getImageFromFile
Could not read this file: "CrimeFprint.mat"

Error in ==> imuitools\private\imageDisplayParseInputs at 128
[cdata,map] = getImageFromFile(filename);

Error in ==> imshow at 146
[cdata, cdatamapping, clim, map, xdata, ydata, ...

Error in ==> dippart2 at 3
imshow('CrimeFprint.mat');
这是为什么?到底imshow处应该写什么才能正确显示图像?

silas_xue
2009-03-10, 01:00
lz 首先需要说明一下 fopen()函数不代表你是以图像的格式阅读,只是打开,这一点和C很像。
如果你要使用fopen(),需要配合使用fread(),并通过参数传递告知读取的数据格式及个数;
如果你提前知道.mat文件是什么格式的图像文件,则可以直接使用imread()进行读取,然后再使用imshow()就可以实现图像的显示了。

Thx for reading.

Secondhand Serenade
2009-03-11, 19:31
楼上的真厉害,原来fopen和fread要配合使用,进来学习了...

silas_xue
2009-03-12, 02:33
2楼 多多交流 共同进步

Thx for reading.
PS:若还算满意,直接点击“Thanks”,再次登陆时亦便于查看回答是否真的帮到你了。

epai
2009-03-12, 21:28
学习了啊,呵呵

silas_xue
2009-03-13, 01:29
lz 5楼 多多交流 共同进步