MATLAB如何读取图片

MATLAB如何读取图片,第1张

很简单,你的程序一定建的m文件写的,你点击运行的,有两个选择,第一个是你的程序的路径,第二个是你读的路径,你点击第二个就OK了,你在MATLAB的运行界面可以看到你一定点击运行就会d到你保存程序的路径下。

散点图的点坐标,可以用ginput来获取。

ginput(n),就是用鼠标在图上面选取n个点的坐标。

至于后面的就比较麻烦一些。

如果有序的也像你的图那样是一些网格的话。

就好办多了。

你先计算那些散点在哪一个网格中。然后再确定该网格的质心。

60个点太多了。

我下面就弄3个点。

clear all

axis([0 100 0 100]);

hold on

for y=0:10:100 x=[0:10:100];

plot(x,y,'r');

end;

for n=1:1:3;

x=rand(1)100;

y=rand(1)100;

plot(x,y,'b');

end;

hold off

data=ginput(3);

myx=data(:,1);

myy=data(:,2);

ii=floor(myx/10); %x方向的格子数

jj=floor(myy/10); %y方向的格子数

count=zeros(10,10);

for i=1:3

count(jj(i),ii(i))=count(jj(i),ii(i))+1;

end

center=[];

for i=1:10

for j=1:10

if (count(j,i)~=0)

center=[center;i10+5,j10+5];

end

end

end

center

到图像处理,第一步就是图像读取。Matlab最简单的就是imread函数,本节介绍imread的用法以及容易出错的地方

读取

正如上图所示,在Matlab文档中,imread包括以上几种用法,但并不要求都要掌握,个人觉得会用一两种,其他了解语法即可。

我们来介绍下最最常用的语句A = imread(filename)

我们来读取一张

>> a = imread('凝视jpg');

>> imtool(a)

1

2

1

2

duqu

如图所示,首先注意的是语法正确A = imread(‘凝视jpg’);

一正确示范。

他的意思是在当前路径里把文件名为“凝视jpg”的数据读取到A中保存,那我们可以看到在最右边Workspace区域放着一些数据,这就是A的数据,我们看到这张是3405933大小,意思是340行,593列,3通道(RGB)的,右边的UINT8表示8位无符号的整型类型。(后面的imtool语句用于显示,这个将在后续细谈)

补充一点小知识:

想要清空Command Window,输入命令clc

想要清空Workspace,输入命令clear

想要关闭所有打开的窗口,输入命令close all

想要观看图像信息,用whos

二踩坑

好了,既然我们知道正确的写法,那我们来试试有什么坑。(敢于试错是干这行的一个优秀品质)

1为什么要分号

因为matlab是按行编译,一行一行编译,不写分好,就会直接出来编译结果,给你们看个例子就明白。

juzhen

上面创建一个a和b矩阵,a矩阵不用分号结尾,窗口直接显示内容,而b矩阵用了分号,并不显示内容,但是可以看到编译后,在workspace已经创建两个数组矩阵,我们也可以看到,点击变量名可以看到最上面有具体的数据。同理,如果我们读取a = imread(‘凝望jpg’)不写分号,那么窗口就会出现一大波数据,刷刷刷地跳出来,那酸爽,那些数据就是保存在数组里面的像素了。

小知识:

如果你不写变量名,比如>>imread(‘凝望jpg’);它很默认地给你个名字叫:ans

当你想重新写一句语句和上面相同或相似的话,可以按键盘的上箭头按钮

箭头

这个快捷方式可以帮助你快速地修改语句,好用。

2英文半角符号

这个学过编程的都应该知道吧,别整个中文“。”,也千万别用英文的全角符号“.”,至于为什么,我不知道。Matlab会出现:File “凝视.jpg” does not exist

3路径

这个是常会犯的,你记得你有那,也记得名称,但是你没有把他放在当前的路径里你叫人家怎么找,Matlab还没有那么强大到可以全搜索你电脑里面的文件。同样编译会出现 : does not exist。但是还有补救的方法,你可以给它指明可以去哪里找,例如:

zairu

我把‘凝视jpg’放在D盘的build文件下面,结果不断地出错出错如图所示,乍一看,才发现把凝视写成凝望了,再一看,把build写成bulid,哈哈,我也只是个初学者,稍粗心就犯错,借此也说明写代码确实得聚精会神啊,这点BUG还容易改,但是如果你做的是大项目,写成百上千行代码,因为拼写错误而花了几个小时那实在是亏大了。

好了,本次文件读写就写到这里,有什么疑问可以评论大家一起讨论学习,也许我们会有思想的火花。可能说的都是很琐碎很简单的东西,只要能给你一点点收获,这篇博客就有价值了。下节继续介绍其他函数。

以上就是关于MATLAB如何读取图片全部的内容,包括:MATLAB如何读取图片、在matlab的图上如何得到数据、matlab读取图片作为刺激图片等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

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

原文地址: http://outofmemory.cn/web/9402292.html

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

发表评论

登录后才能评论

评论列表(0条)

保存