# Original image size 769*770, I am geting error as dimension mismatch

1 visualización (últimos 30 días)
vetri veeran el 24 de Nov. de 2014
Respondida: Jan el 24 de Nov. de 2014
Original image size 769*770
[rows,columns,numberofcolorbands]=size(org_im)
if numberofcolorbands >1 org_im=org_im(:,:,2); end
org_im=im2double(org_im);
figure(1); imshow(org_im);title('Original Image')
f=zeros(771,772); [m,n]=size(f); f(769,770)=size(org_im);
I am getting an error as,
Subscripted assignment dimension mismatch.
Error in sobelmaskspat_d (line 23) f(769,770)=size(org_im);
How to overcome this,
Thank you
##### 1 comentarioMostrar NingunoOcultar Ninguno
Jan el 24 de Nov. de 2014
Please post the complete error message.

Iniciar sesión para comentar.

Jan el 24 de Nov. de 2014
f(769,770) = size(org_im);
The right hand side replies a vector, but the left hand side is one element of a matrix, a scalar. We cannot guess what this line should do. So please explain this detail.
If you want to pad a matrix by zeros:
f = zeros(771,772);
f(2:770, 2:771) = org_im;
##### 0 comentariosMostrar -1 comentarios más antiguosOcultar -1 comentarios más antiguos

Iniciar sesión para comentar.

### Más respuestas (1)

Guillaume el 24 de Nov. de 2014
What are you trying to do with that line anyway?
size(org_im) is at least a 1x2 array, possibly a 1x3 array if you have colour channels. You're trying to store that array in the single element at (769, 770) of f. Since you can only put one value there, it's never going to work.
##### 2 comentariosMostrar 1 comentario más antiguoOcultar 1 comentario más antiguo
Guillaume el 24 de Nov. de 2014
f = zeros(size(org_im) + 2); %no need to hardcode the size
f(2:end-1, 2:end-1) = org_im;
Or, if you have the image processing toolbox, use padarray

Iniciar sesión para comentar.

### Categorías

Más información sobre Image Transforms en Help Center y File Exchange.

### Community Treasure Hunt

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

Start Hunting!