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, ...
请各位看看问题在哪里。 展开
我的代码如下: 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, ...
请各位看看问题在哪里。 展开
展开全部
相加的前提是你的两幅图像大小是否相等,也就是都为x*y的大小,第二个你可以试着把png格式转换成bmp格式试一试,不过两幅图像大小必须相等是必须的,因为两幅图像的相加,实际上是两个矩阵再相加,必须是行和列都相等的矩阵才能相加。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
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('平均叠加');
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('平均叠加');
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询