无法执行赋值,因为左侧的大小为 400×1200,右侧的大小为 400×400×3。

img

img

为什么大小都是一样的,却无法赋值呀,都是4001200,右边的为什么会分为400400*3

你好,T2的数据是从imread中来的,imread返回的是m×n×3的数据,其实是三个维度的数据,第一个和第二个维度代表图片的高度和宽度,第三个维度代表RGB三种颜色。
所以建议还是按照RGB来进行生成:

[m,n,p]=size(t);%p=3就是RGB三个通道
T2 = t;
T5 = double(T2);
t2 = zeros(m+4,n+4,p);
t2 = double(t2);%这句其实可以删去,因为zeros生成的t2就是double类型
t2(3:m+2,3:n+2,:) = T5;%这样就可以啦

有帮助还请题主给个采纳支持答主哦,先行谢谢啦