pelover 发表于 2006-4-21 17:23

[求助]请高手看看这个算法为什么这样好吗

X=imread('AA.bmp'); <BR>figure; <BR>imshow(X); <BR><BR>=size(X); <BR><BR>width=512; <BR>height=512; <BR>Y=uint8(zeros(width,height)); <BR><BR><BR>wscale=imagewidth/width; <BR>hscale=imageheight/height; <BR><BR>for i=1:width <BR>   for j=1:height <BR>      x=i*wscale; <BR>      y=j*hscale; <BR>      if(x==floor(x)) &amp; (y==floor(y))      % x,y are both integer <BR>         Y(i,j)=X(int16(x),int16(y)); <BR>      else <BR>         if(floor(x)==0) | (floor(y)==0)   % exceed the index <BR>            Y(i,j)=X(1,1); <BR>         else <BR>            xx=uint16(x+0.5); <BR>            yy=uint16(y+0.5); <BR>            if(xx==0) | (yy==0)               % exceed the index <BR>               Y(i,j)=X(1,1); <BR>            else <BR>               Y(i,j)=X(xx,yy);            % replace with the nearest neighbour<BR>            end <BR>         end <BR>      end <BR>   end <BR>end <BR>    <BR>figure; <BR>imshow(Y) <BR>为什么运行后会显示3副图像? 如何只显示一副? <BR>另外,这个编写的最邻近算法如何运用到图像放大中去? 而不是单纯的用IMRESIZE(M,N,’NERAEST’)?

pelover 发表于 2006-4-21 20:54

回复:(pelover)[求助]请高手看看这个算法为什么这样...

请教

happy 发表于 2006-4-22 22:20

回复:(pelover)[求助]请高手看看这个算法为什么这样...

三个图片的像素和到Y中去了画出来的当然是这种效果

pelover 发表于 2006-4-23 17:54

那么如何修改使得只显示一个图片呢

happy 发表于 2006-4-28 08:55

回复:(pelover)那么如何修改使得只显示一个图片呢

<DIV class=quote><B>以下是引用<I>pelover</I>在2006-4-23 17:54:14的发言:</B><BR>那么如何修改使得只显示一个图片呢</DIV>
<br>什么意思?你是要实现上面那种效果?
页: [1]
查看完整版本: [求助]请高手看看这个算法为什么这样好吗