matlab中由size函数引发的问题

来源:互联网 发布:淘宝会员无线端装修 编辑:程序博客网 时间:2024/06/01 07:41

一开始代码如下

p=imread('lv.jpg');
q=imread('new.png');
[m,n]=size(p);   %这里
q=imresize(q,[m,n]);
p=imadd(1/2*p,1/2*q);
imshow(p,[]);

出现如下错误说是矩阵大小不一样


一查m,n,n的大小扩大了3倍


一直不明白为什么会这样后来查了查



结论:

由此可以看到size函数默认是输出三通道每一道的大小同[m,n,r]=size(p),但是[m,n]=size(p)中n会返回三通道的和,所以代码修改如下

p=imread('lv.jpg');
q=imread('new.png');
[m,n,r]=size(p);
q=imresize(q,[m,n]);
p=imadd(1/2*p,1/2*q);
imshow(p,[]);

效果出现了


0 0
原创粉丝点击