Bootstrap

Matlab常见报错:错误使用 conv2不支持 N 维数组;cell类型数组不支持运算符

一、错误使用 conv2不支持 N 维数组;

错误样例:

原因:提示错误使用 conv2不支持 N 维数组,可能是因为你读取的图像并不是灰度图像而是RGB图像,有red/green/blue三种颜色通道也就是说是三维的矩阵。所以我们需要将图像转变为灰度图像。

解决方法:增加一行代码:使用rgb2gray()函数

i=imread('<这里填图像名>')
i=rgb2gray(i)

二、cell类型数组不支持运算符

错误样例:

cell类型数组不支持运算符'=='

原因:cell数组比较特殊,通过()访问cell数组时访问到的是cell单元,通过{ }访问cell数组时访问到的是cell单元储存的内容。而出现上述情况可能是你使用{}访问cell的储存内容,并且判断它是不是等于k(某个具体数值),例如Project{m}==k。可能cell存储的内容是str字符型,看起来是数字。这里我们需要将cell的内容转变为double型才能进行判断。

解决方法:使用str2double()函数

double(Project{m})==k

;