Subscripted assignment dimension mismatch

N = 4;
tps=10;
status = [0 0 0 0 0 0 0 0 0 0 0];
img = zeros(540,960,N);
for i = 1:N
img_tmp = imread(f_list(i).name);
img(:,:,i) = img_tmp(:,:,1);
end
bck_img = (mean(img,3)); %average background template
%subplot(121);imagesc(bck_img)
%subplot(122);imagesc(img(:,:,1))
clear img;
pause(5)
%gaussian filter
hsize = 80;
sigma = 20;
gaus_filt = fspecial('gaussian',hsize , sigma);
%gaus_filt = fspecial('log',hsize , sigma);
%subplot(121); imagesc(gaus_filt)
%subplot(122); mesh(gaus_filt)
colormap(gray)
SE = strel('diamond', 0)
Here, I am getting the error as subscripted assignment dimension mismatch but I am unable to figure out where is the error.

3 Comments

The error message will include the offending line in the text with traceback information to the calling routine.
Use the debugger and
dbstop on error
and you can see what condition of various variables is at the time of the failure which will more than likely lead you to the "aha!" moment...
Thank you, for helping me out. I got an error in the below line,
img(:,:,i)=img_tmp(:,:,1).
Can you please help me in this.

Sign in to comment.

 Accepted Answer

Your images are not all the same size when they are read in. You will need to read into a temporary variable and then either crop or pad or imresize() to fit the expected space.

More Answers (0)

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!