Image 在MATLAB中叠加2幅图像时出错

Image 在MATLAB中叠加2幅图像时出错,image,matlab,image-processing,gaussian,Image,Matlab,Image Processing,Gaussian,我正在运行下面的代码来叠加两个图像 A = 'gaussians.png'; B = 'gaussiansContour.png'; imAlphaData = repmat(0:1/size(B,2):1-1/size(B,2),size(B,1),1); hf = figure('units','normalized','position',[.2 .2 .6 .6]); ax1 = subplot(2,3,1); ibg = image(A); axis off; title('Bac

我正在运行下面的代码来叠加两个图像

A = 'gaussians.png';
B = 'gaussiansContour.png';

imAlphaData = repmat(0:1/size(B,2):1-1/size(B,2),size(B,1),1);

hf = figure('units','normalized','position',[.2 .2 .6 .6]);
ax1 = subplot(2,3,1);
ibg = image(A);
axis off;
title('Background');
ax2 = subplot(2,3,4);
iim = image(B);
axis off;
title('Image without transparency yet');

ax3 = subplot(2,3,[2:3, 5:6]);
ibg2 = image(B);
axis off;
hold on;
%   Overlay the image, and set the transparency previously calculated
iim2 = image(A,'XData',[30 50],'YData',[10 30]);
set(iim2,'AlphaData',imAlphaData);
title(sprintf('Using transparency while overlaying images:\nresult is multiple image objects.'));
但我遇到了一个错误:

Error using image
Numeric or logical matrix required for image CData

Error in superimpose (line 8)
ibg = image(A);
有人能告诉我要修改什么才能使代码正常运行吗?

图像采用像素数据矩阵,而不是字符串。使用imread

图像采用像素数据矩阵,而不是字符串。使用imread

尝试:

而不是您的:

A = 'gaussians.png';
B = 'gaussiansContour.png';
尝试:

而不是您的:

A = 'gaussians.png';
B = 'gaussiansContour.png';

它到底是哪个调用image的,输入的维数是多少?它到底是哪个调用image的,输入的维数是多少?我也这么做了,但是当我运行程序时,我的matlab崩溃,pc重新启动。运行这个matlab语句是非常好的。如果运行上述代码导致电脑重新启动和MATLAB崩溃,您的操作系统/硬件就会出现严重问题。@rayryeng这是肯定的!CPU的散热片是否脱落?:@chappjc-哈哈哈。我知道,对吧!?老实说,我看不出显示带有图像的图形会如何导致电脑重新启动。我猜一个RAM模块有缺陷。我也这么做了,但是当我运行程序时,我的matlab崩溃,pc重新启动。运行这个matlab语句是非常好的。如果运行上述代码导致电脑重新启动和MATLAB崩溃,您的操作系统/硬件就会出现严重问题。@rayryeng这是肯定的!CPU的散热片是否脱落?:@chappjc-哈哈哈。我知道,对吧!?老实说,我看不出显示带有图像的图形会如何导致电脑重新启动。我猜RAM模块有缺陷。
A = 'gaussians.png';
B = 'gaussiansContour.png';