如何用matlab读取数据并按指定格式输出

如何用matlab读取数据并按指定格式输出,第1张

MATLAB图像处理工具箱支持四种基本图像类型:索引图像、灰度图像、二进制图像和RGB图像。MATLAB直接从图像文件中读取的图像为RGB图像。它存储在三维数组中。这个三维数组有三个面,依次对应于红(Red)、绿(Green)、蓝(Blue)三种颜色,而面中的数据则分别是这三种颜色的强度值,面中的元素对应于图像中的像素点。设所得矩阵为X三维矩阵(256,256,3) ,X(:,:,1)代表红颜色的2维矩阵 X(:,:,2)代表绿颜色的2维矩阵, X(:,:,3)代表兰颜色的2维矩阵。[X, map]=imread('34bmp');r=double(X(:,:,1)); %r是256 x 256的红色信息矩阵g=double(X(:,:,2)); %g是256 x 256的绿色信息矩阵b=double(X(:,:,3)); %b是256 x 256的兰色信息矩阵

索引图像数据包括图像矩阵X与颜色图数组map,其中颜色图map是按图像中颜色值进行排序后的数组。对于每个像素,图像矩阵X包含一个值,这个值就是颜色图数组map中的索引。颜色图map为m×3双精度矩阵,各行分别指定红、绿、蓝(R、G、B)单色值,map=[RGB],R、G、B为值域为[0,1]的实数值,m为索引图像包含的像素个数。

对于相同的数据,采用uint8格式比双精度格式节省内存空间,从而更经济。在MATLAB中

如果索引图像的颜色图小于256行,则它的图像矩阵以uint8格式存储,否则以双精度格式存储。

一:imread:从图像文件夹中读取图像。

A = imread(FILENAME,FMT) 读取图像到A,如果文件是包含一灰度图像,A是一二维矩阵,如果文件是包含一真彩色图像(RGB),A是一三维矩阵(M-by-N-by-3)。FILENAME :图像文件名;FMT:图像文件格式;

文件必须在当前目录下,或在Matlab的一路径上。如果 imread不能够找到一名称为FILENAME的文件,那么它将找一名为FILENAMEFMT的文件

[X,MAP] = imread(FILENAME,FMT) 把图像FILENAME读入与它相关的图像色彩信息写入MAP,图像色彩信息值在范围[0,1]中自动地重新调整

[] = imread(FILENAME)这种方式是试图得到文件的格式从文件所包含的信息。

[] = imread(URL,)从一Internet URL上读图像 URL 必须包含协议(即: ">

你要加入文件的存放路径啊!除非你的文件就存放在当前的工作目录下,负责读取图像的时候都是要加入文件路径的。

[I,map]=imread('E:\图像处理\my_paper\pcture\lenacolor256jpg');

figure(1);

imshow(I,map);

这样的要的I是图像矩阵,map为空矩阵。

必须格式化输出:\x0d\比如你要将三维矩阵A保存到文件myfiletxt,则可以这样写代码:\x0d\L=size(A);\x0d\fid = fopen('myfiletxt', 'a+');\x0d\for i=1:L(3)\x0d\ len=size(A(:,:,i);\x0d\ for j=1:len(1)\x0d\ for k=1:len(2)\x0d\ fprintf(fid,'%lf ',A(j,k,i));\x0d\ end\x0d\ fprintf(fid,'\r\n');\x0d\ end\x0d\ fprintf(fid,'\r\n');\x0d\end

以上就是关于如何用matlab读取数据并按指定格式输出全部的内容,包括:如何用matlab读取数据并按指定格式输出、matlab如何读取数据、MATLAB函数imread无法读取图像数据!等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/10157657.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-05
下一篇 2023-05-05

发表评论

登录后才能评论

评论列表(0条)

保存