matlab code

51 visualizaciones (últimos 30 días)
noor
noor el 10 de Mzo. de 2012
clear
clc
d1=120; d2=94;
I =imread('C:\Users\SAMA CENTER\Desktop\girl.jpg');
J = imresize(I,[200 250]);
X = rgb2gray(I);
Y=X';
for k1=1:d1
for k2=1:d2
B(2*k1,k2)=X(k1, k2);
B(2*k1-1,k2)=floor((X(k1,k2)+X(2*k1-1,k2))/2);
end
end
imshow(B);
What's wrong with this code?? there is some wrong with the floor function what is it ???
  2 comentarios
Chandra Kurniawan
Chandra Kurniawan el 10 de Mzo. de 2012
Please show me the error message!
noor
noor el 10 de Mzo. de 2012
??? Attempted to access X(213,1); index out of bounds because size(X)=[212,320].
Error in ==> floor at 12
B(2*k1-1,k2)=floor((X(k1,k2)+X(2*k1-1,k2))/2);

Iniciar sesión para comentar.

Respuesta aceptada

Chandra Kurniawan
Chandra Kurniawan el 10 de Mzo. de 2012
The error message sounds you accessed X(213,1) while the size of X is 212x320
X is a gray image generated from command : X = rgb2gray(I);
so, the original image I has 212x320 dimension.
  2 comentarios
noor
noor el 10 de Mzo. de 2012
so what can i do ??
Chandra Kurniawan
Chandra Kurniawan el 10 de Mzo. de 2012
You wrote the code d1=120 and also wrote B(2*k1,k2)
So, ideally the image must have minimum 2*120 x 94 dimension.
You can resize the image.
J = imresize(I,[240 94]);
Then followed with :
X = rgb2gray(J);

Iniciar sesión para comentar.

Más respuestas (1)

777
777 el 10 de Mzo. de 2012
your code has x(2*k1-1) ,so when the value of k1=120 you reach a value which is out of bounds for x.

Community Treasure Hunt

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

Start Hunting!

Translated by