所以标题完全描述了整个问题。
if ischar(image_sorce)
img = imread(image_sorce);
else
if ismatrix(image_sorce)
img = image_sorce; end;
end;
但是当使用imread创建输入变量image_source
时,ismatrix返回0。
答案 0 :(得分:0)
>>帮助ismatrix
ismatrix如果输入是矩阵,则为真。
ismatrix(M) returns logical 1 (true) if SIZE(M) returns [m n] with nonnegative integer values m and n, and logical 0 (false) otherwise.
如果你检查它的行为,你会得到:
ismatrix(rand(10,10))
ans =
1
>> ismatrix(兰德(10,10,10))
ans =
0
因此ismatrix
仅适用于二维变量。尝试合并isnumeric
并检查尺寸大小。例如,对于第三维必须为3的三维变量,类似于( ndim(X) == 3 && size(X,3) == 3 )
。