分配给数组时,LHS和RHS应具有相同数量的值

时间:2014-01-24 06:39:13

标签: arrays matlab

我使用函数dataBase为数组count分配一个值,其中包含图像的白色像素数。函数count()工作正常但不是dataBase数组的赋值。请帮我解决一下这个。函数的原型是,

计数(),

function whitecount = new(image1)

收到的错误是,

???在赋值A(I)= B中,B和中的元素个数  我必须是一样的。

==>中的错误初到9点     dataBase(i)= w;

init()的完整功能

function dataBase = init();

dataBase=zeros(1,1000);
srcFiles = dir('DB\*.jpg');

for i=1: length(srcFiles)
    filename = strcat('DB\',srcFiles(i).name);
    w = count(filename);
    dataBase(i)= w; 
end

1 个答案:

答案 0 :(得分:0)

如果count返回标量值以外的值,则分配将失败,因为dataBase(i)仅采用标量值。

您有两个选择

  1. 确保w始终为非空标量
  2. dataBase变为cell array