MATLAB: Error using + Matrix dimensions must agree.

error

function allCenters = getDominoValues(BW, bbox, colorIm)
for i = 1:length(bbox)
dominoImage = imcrop(BW, bbox(i,:));
[centers, radii] = imfindcircles(dominoImage, [3 8]);
dominoImageOffset = repmat(double(bbox(i,1:2)), (length(centers)/2), 1);
absoluteCenters{i} = centers(:,:) + dominoImageOffset(:,:);
allRadii{i} = radii;
end
J = colorIm;
for i = 1:length(bbox)
J = insertMarker(J, absoluteCenters{i});
end
imshow(J);
At the moment I am getting the following message "Error using + Matrix dimenions must agree" when "absoluteCenters{i} = centers(:,:) + dominoImageOffset(:,:);" is executed. I have executed the same line in the command script, and I get no error messages.
Does anyone know why this might be happening?
Thanks.

Best Answer

It is hard to guess remotely, but you can inspect the problem very easy locally:
dbstop if error
Then run your code again until it stops at the error. Now check the dimensions:
size(centers)
size(dominoImageOffset)
As Matlab tells you, they have different sizes.
Perhaps you do not mean length(centers), which is the longest dimension, but size(centers, 1). Never rely on length to pick up the dimension you are meaning.