matlab中函数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?

来源:学生作业帮助网 编辑:作业帮 时间:2024/05/11 03:24:40

matlab中函数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?
matlab中函数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?

matlab中函数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?
最开头的两句话是读入图像,如果是彩色图,那l和ml就是三维的,如果是灰度图,那这两个就是二维的.
第三句是求二者的差的绝对值的和,二维的求和后会变成一维,如[2 3;4 5]求和后变成[6 8],缺省情况是按列求和,你的程序是按第三维求和.
MATLAB是基于矩阵的,而C和Java什么的是基于数值的,所以你可能一时不太理解.