필터 지우기
필터 지우기

whats wrong with this nearest neighbor zoom code

조회 수: 1 (최근 30일)
alireza kooshafar
alireza kooshafar 2016년 10월 22일
댓글: Image Analyst 2016년 10월 23일
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
John D'Errico
John D'Errico 2016년 10월 22일
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.

댓글을 달려면 로그인하십시오.

채택된 답변

Walter Roberson
Walter Roberson 2016년 10월 23일
Change
I2=zeros(M2 , N2);
to
I2 = zeros(M2 , N2, class(I));

추가 답변 (1개)

Image Analyst
Image Analyst 2016년 10월 22일
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
alireza kooshafar
alireza kooshafar 2016년 10월 23일
dear image Analyst i write the code for gray and it works but when i want to do the same with rgb images just with adding channel i don't get the last result as i expected
Image Analyst
Image Analyst 2016년 10월 23일
Looks like you've accepted Walter's answer so I assume you're all set now. Write back if that's not the case.

댓글을 달려면 로그인하십시오.

카테고리

Help CenterFile Exchange에서 Visual Exploration에 대해 자세히 알아보기

태그

Community Treasure Hunt

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

Start Hunting!

Translated by