matlab中使用imread函数进行两幅图像相加的时候,软件提示错误,不知为何,请各位指教。

我的语句中的canada.png和nk.png是两幅图像,分别是加拿大国旗和南开大学校徽。在RGB加亮等操作中均可以执行,但是imread函数却无法进行。我的代码如下:i... 我的语句中的canada.png和nk.png是两幅图像,分别是加拿大国旗和南开大学校徽。在RGB加亮等操作中均可以执行,但是imread函数却无法进行。
我的代码如下: i=imread('canada.png');j=imread('nk.png');k=imadd(i,j,'unit16');imshow(k,[ ])
提示错误语句如下:??? Error using ==> images\private\checkstrs
Function IMADD expected its third input argument, OUTPUT_CLASS,
to match one of these strings:

uint8, uint16, uint32, int8, int16, int32, single, double

The input, 'unit16', did not match any of the valid strings.
Error in ==> imadd at 74
output_class = checkstrs(output_class, valid_strings, mfilename, ...
请各位看看问题在哪里。
展开
 我来答
真情小白2180
2012-05-13 · TA获得超过6万个赞
知道大有可为答主
回答量:3.5万
采纳率:0%
帮助的人:4624万
展开全部
相加的前提是你的两幅图像大小是否相等,也就是都为x*y的大小,第二个你可以试着把png格式转换成bmp格式试一试,不过两幅图像大小必须相等是必须的,因为两幅图像的相加,实际上是两个矩阵再相加,必须是行和列都相等的矩阵才能相加。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
一上才8846
2012-05-09 · TA获得超过5.3万个赞
知道大有可为答主
回答量:3万
采纳率:0%
帮助的人:4083万
展开全部
imadd应该只是将两个矩阵的叠加,你可以查查看。可以用imlincomb函数实现两幅图甚至多幅图的叠加。
I1=imread('1.jpg');
subplot(1,3,1);
imshow(I1);
title('原图形1');
I2=imread('3.jpg');
subplot(1,3,2);
imshow(I2);
title('原图形2');
k=imlincomb(0.5,I1,0.5,I2);%参数为两幅图叠加权值
subplot(1,3,3);
imshow(k,[]);
title('平均叠加');
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式