matlab中函数sum的问题?
I=double(imread(img_name))/255;mI=double(imread(scribs_img_name))/255;consts_map=sum(...
I=double(imread(img_name))/255;
mI=double(imread(scribs_img_name))/255;
consts_map=sum(abs(I-mI),3)>0.001;
其中I,mI均为3维数组,consts_map为一维数组,为何经过sum后,3维的(I-mI)变为了一维的consts_map??? 展开
mI=double(imread(scribs_img_name))/255;
consts_map=sum(abs(I-mI),3)>0.001;
其中I,mI均为3维数组,consts_map为一维数组,为何经过sum后,3维的(I-mI)变为了一维的consts_map??? 展开
3个回答
展开全部
最开头的两句话是读入图像,如果是彩色图,那l和ml就是三维的,如果是灰度图,那这两个就是二维的。
第三句是求二者的差的绝对值的和,二维的求和后会变成一维,如[2 3;4 5]求和后变成[6 8],缺省情况是按列求和,你的程序是按第三维求和。
MATLAB是基于矩阵的,而C和Java什么的是基于数值的,所以你可能一时不太理解。
第三句是求二者的差的绝对值的和,二维的求和后会变成一维,如[2 3;4 5]求和后变成[6 8],缺省情况是按列求和,你的程序是按第三维求和。
MATLAB是基于矩阵的,而C和Java什么的是基于数值的,所以你可能一时不太理解。
追问
请问我输入了彩色图像,那么将abs(I-mI)按第三维求和是否意味着将某像素点的RGB值如(10,20,30)相加,最后得到的二维数组在该像素点的值为60?
追答
是的。
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
2011-11-01
展开全部
不好意思 完全看不懂!!
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
假如a是2维,那么:
b=sum(a)
b就是1维
b=sum(a)
b就是1维
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询