ImageJ marco Moving Window Transform
适用于灰度图,代码假设kernel 为3x3,值均为1/9
width=getWidth();
height=getHeight();
copy_image=newArray(height*width);
count=0
for(i=0;i<width;i++){
for(ii=0;ii<height;ii++){
v=getPixel(i,ii);
copy_image[count]=v;
}
}
for(i=1;i<width-1;i++){
for(ii=1;ii<height-1;ii++){
1/9*temp=getPixel(i-1,ii+1)+1/9*getPixel(i-1,ii)+1/9*getPixel(i-1,ii-1)+1/9*getPixel(i,ii)+1/9*getPixel(i,ii+1)+1/9*getPixel(i,ii-1)+1/9*getPixel(i+1,ii+1)+1/9*getPixel(i+1,ii)+1/9*getPixel(i+1,ii-1);
copy_image[i+ii*width]=temp;
}
}
for(i=0;i<width;i++){
for(ii=0;ii<height;ii++){
setPixel(i,ii,copy_image[i+ii*width]);
}
}
还没有评论,来说两句吧...