当前位置:编程学习 > Matlab >>

MATLAB 程序注释

A=imread('mm.bmp');这句我知道是读取图片数据 data=A(:,:,1);这句是什么意思呢? [m0,n0]=size(data);这句是什么意思呢? id1=find(data==min(min(data)));这句是什么意思呢? id2=find(data==max(max(data)));这句是什么意思呢?
补充:主要是这句data=A(:,:,1);这句是什么意思呢?.bmp文件是黑白的二位图,A应该是二维矩阵,是将A变成3维矩阵吗,变三维矩阵用1是什么意思
答案:data=A(:,:,1);
得到图像A的数据,如果图像mm.bmp是黑白图像,那么得到的就是这张黑白图像。如果mm.bmp是RGB彩色图像,那么得到的是R(红)通道的信息。程序这样写估计是为了让这个程序也能适合读彩色的情况。

[m0,n0]=size(data);
得到图像的高度和宽度。m0是高度,n0是宽度

id1=find(data==min(min(data)));
找到图像上的灰度的最小值的位置,id1是一个数,是把矩阵的元素按列从上到下,然后从左到右数的第几位。也可以写成[id1_row,id1_col]=find(data==min(min(data))); 如果写成这种样子,id1_row是行数,id1_col是列数。

id2=find(data==max(max(data)));这句是什么意思呢?
找到图像上的灰度的最大值的位置,原理同前面找最小值。
其他:A=imread('mm.bmp');  
data=A(:,:,1);%%如果A是rgb图像,那么data就是红色分量;如果A是灰度图像,data还是原图;
[m0,n0]=size(data);%%得到data的大小,m0代表行数,n0代表列数
id1=find(data==min(min(data)));%%min(min(data))是找到data中的最小值,id1返回的是把data转化成行向量或者列向量,最小值所在的列或者行
id2=find(data==max(max(data)));%%和上面的min一样,不过是找最大值
%%%%%%%%%%%%%%%%%%%%%%%
>> a=magic(3)
a =
     8     1     6
     3     5     7
     4     9     2
>> id1=find(a==min(min(a)))
id1 =
     4
>> a=a(:)'
a =
     8     3     4     1     5     9     6     7     2%%可以看出id1为将a转化成行向量后最小值所在的列 

上一个:matlab中s(:,1)=[TrueVal(1,1);0;0];是什么意思,求解释,TrueVal是自定义的,主要解释右边的。
下一个:matlab中b{3}=[ ]是什么意思

CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,