whats wrong with this nearest neighbor zoom code
1 Ansicht (letzte 30 Tage)
Ältere Kommentare anzeigen
alireza kooshafar
am 22 Okt. 2016
Kommentiert: Image Analyst
am 23 Okt. 2016
I think every thing is ok but the answer is not correct
I=imread('C:\Users\AliReza\Desktop\B.jpg');
for Channel = 1 : 3
I1 = I(:,:,Channel);
S=2 ;
[M , N]=size(I1);
M2=S*M;
N2=S*N;
I2=zeros(M2 , N2);
for i =1:M2
for j = 1:N2
x =i/S;
y=j/S;
x2=round(x);
y2=round(y);
if (x2<1)||(x2>M)||(y2<1)||(y2>N)
I2(i , j)=0;
else
I2(i,j)=I1(x2 ,y2);
end
end
I3(:, :, Channel) = I2;
end
imshow(I3,[])
1 Kommentar
John D'Errico
am 22 Okt. 2016
What do you think is incorrect? Why do you think there is a problem? Perhaps you need to either learn to use the debugger, or you need to give more information if you seriously expect an answer.
Akzeptierte Antwort
Walter Roberson
am 23 Okt. 2016
Change
I2=zeros(M2 , N2);
to
I2 = zeros(M2 , N2, class(I));
0 Kommentare
Weitere Antworten (1)
Image Analyst
am 22 Okt. 2016
Not sure what "is not correct" means. Perhaps you'd like to see the Mathworks demo on zooming an image, attached.
Or perhaps you want to use imresize() or imcrop().
2 Kommentare
Image Analyst
am 23 Okt. 2016
Looks like you've accepted Walter's answer so I assume you're all set now. Write back if that's not the case.
Siehe auch
Kategorien
Mehr zu Logical finden Sie in Help Center und File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!