我试图在MATLAB中显示图像蒙太奇,其中每个图像是N x M阵列,K图像存储为N x M x K阵列。
MATLAB返回错误:
Error using images.internal.imageDisplayValidateParams>validateCData (line 115)
Multi-plane image inputs must be RGB images of size MxNx3.
Error in images.internal.imageDisplayValidateParams (line 27)
common_args.CData = validateCData(common_args.CData,image_type);
Error in images.internal.imageDisplayParseInputs (line 78)
common_args = images.internal.imageDisplayValidateParams(common_args);
Error in imshow (line 240)
images.internal.imageDisplayParseInputs({'Parent','Border','Reduce'},preparsed_varargin{:});
Error in montage (line 152)
hh = imshow(bigImage, displayRange,parentArgs{:});
当我复制粘贴并运行MATLAB documentation for the montage function提供的代码时,这些确切的错误仍然存在,包括在这里:
img1 = imread('AT3_1m4_01.tif');
img2 = imread('AT3_1m4_02.tif');
img3 = imread('AT3_1m4_03.tif');
img4 = imread('AT3_1m4_04.tif');
multi = cat(3,img1,img2,img3,img4);
montage(multi);
此代码应该以与我正在排除故障的原始代码相同的方式从N x M x K阵列创建蒙太奇,并且不能以相同的方式。
是否有其他人从此代码中收到这些错误?有人可以告诉我如何调整此代码以生成图像蒙太奇,如文档示例所示?
答案 0 :(得分:0)
我的猜测是这是版本错误。你在运行Matlab 2018a吗?这是文档的版本。我猜想老版本的Matlab使用了不同的界面。
我会尝试输入
help montage
在你的Matlab中。也许那里有一些额外的提示。
答案 1 :(得分:0)
文档说
蒙太奇(I)显示复帧图像阵列I的所有帧 多帧图像阵列可以是二进制,灰度或 真彩色图像。二进制或灰度图像序列必须是 M-by-N-by-K或M-by-by-by-by-by-K阵列。真彩色图像序列 必须是M-by-by-by-by-by-K阵列。
然而M-by-N-by-K
似乎不起作用。但M-by-N-by-1-by-K
确实如此。
因此
multi = cat(4,img1,img2,img3,img4);