matlab中如何读取mat文件的矩阵

matlab中如何读取mat文件的矩阵,第1张

1、生成MAT文件

假如你的矩阵A、B都已赋值,现在需要将A、B矩阵保存成mat格式文件,执行如下命令:save matfile1 A B 就会把A B矩阵数据保存在matfile1mat文件中了

eg:>>A=[1 2];

>>B =[3 4];

>>save matfile1 A B; %回车即可将A B保存在matfile1mat文件中了。

如果想要单独保存一个数据,例如A,输入以下指令即可:

>> save matfile2 A;

2、保存所有数据为MAT文件

如果有多个矩阵,我们需要将其全部保存,如果数据量很大,就不一一写下保存了,否则会很麻烦,我们直接用下面命令便可:

save mydata3 %保存以上所有数据

这样就会把当前运行空间所有的变量都保存到mydata3mat文件中了

3、读取mat文件数据

首先是将你想打开的mat文件所在的目录设置为当前工作目录,然后执行如下命令:load mydata,就会将mydata中的所有数据加载到当前工作环境中;

eg:>>load matfile %这样读取的是mat文件中所有的数据

如果想要仅仅读取mat文件中某些特定的数据,那么可以单独调用:load matfile 。

eg: >>load matfile A %这样,A就会被加载到当前工作环境中,而其他的B、C、D都不会被加载。

4、如何设置工作路径

所谓工作路径就是matlab运行时的工作目录,matlab包含很多工具箱,用户在使用时也会产生很多文件,工作路径就是matlab使用这些工具,函数,文件的途径。

41、查看搜索路径:path

在命令窗口中输入path,就能查看matlab的搜索路径(比如,输入一条代码,程序会在这些目录中依次搜索是否为变量,是否为函数,M文件等)。

>> path

42、当前工作目录:cd

输入命令cd,可以查看当前工作目录。

>>cd

43、修改工作路径:userpath('F:\matlab\work')

路径可以自己定义。

>>userpath('F:\matlab\work')

44、保存路径修改:savepath

改完默认路径后需要保存一下。

>>savepath

45、也可以用工具 *** 作:pathtool

在命令窗口中输入pathtool,打开工具,在修改完成后,要保存。

这个简单,看你的说法,你的应该直接就是灰度。灰度一般每个像素是0-255从黑到白,而二值的意思是黑是0白是1,所以你有灵感了吧,只要设置一个阈值,大于它的赋值为1小于它的赋值为。

BMP的图像是彩色的,也就是说有RGB三个波段,读出的图像数据是一个MN3的数组,如果想把它变成灰度图像的,只要分离出任意RGB中的一个分量即可,例如你的图像是1BMP, x=imread('1BMP');imshow(x); y=x(:,:,1); imshow(y);就可以了,不知道你是想怎样把图像变成灰度的,如果三个分量都想要的话,做个计算也可以的,例如把RGB做个平均;y=1/3x(:,:,1)+1/3x(:,:,2)+1/3x(:,:,3);imshow(y);

参考代码(设N=5,根据自己的需要改):

>> N=5;

>> s=3;

>> [I,J]=meshgrid(0:s);

>> arrayfun(@(ij)sum((1:N)^ij),I+J)

ans =

           5          15          55         225

          15          55         225         979

          55         225         979        4425

         225         979        4425       20515

file_path = 'E:\MyFiles\收藏\data\';% 图像文件夹路径

img_path_list = dir(strcat(file_path,'jpg'));%获取该文件夹中所有jpg格式的图像

img_num = length(img_path_list);%获取图像总数量

if img_num > 0 %有满足条件的图像

for j = 1:img_num %逐一读取图像

image_name = img_path_list(j)name;% 图像名

I = imread(strcat(file_path,image_name));

fprintf('%d %d %s\n',j,img_num,strcat(file_path,image_name));% 显示正在处理的图像名

%图像处理过程

N=size(I);%求图像维数

%转换为一维数组

re=reshape(I,1,prod(N)); % prod是累乘

%放在矩阵里

Matrix(:,j)=re(:,j);

end

end

以上就是关于matlab中如何读取mat文件的矩阵全部的内容,包括:matlab中如何读取mat文件的矩阵、如何用matlab将图片转换成二值图像矩阵(binary image matrix)、在matlab中如何将bmp图片灰度化,得到灰度矩阵等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

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

原文地址:https://www.54852.com/web/9433879.html

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

发表评论

登录后才能评论

评论列表(0条)

    保存