如何确定输入是MATLAB中的图像?

时间:2014-10-08 20:38:30

标签: matlab

所以标题完全描述了整个问题。

if ischar(image_sorce)
    img = imread(image_sorce);
else
    if ismatrix(image_sorce)
      img = image_sorce; end;
end;

但是当使用imread创建输入变量image_source时,ismatrix返回0。

1 个答案:

答案 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 )