+ -
当前位置:首页 → 问答吧 → java 做Image 一问

java 做Image 一问

时间:2014-02-27

来源:互联网

public static BufferedImage gaussianBlur(Image img)
{

BufferedImage bufImg = convert(img);
BufferedImage resultImg = cloneImage(bufImg);
for(int j=1; j<bufImg.getHeight()-1; j++)
{
for(int i=1; i<bufImg.getWidth()-1; i++)
{

int values1=bufImg.getRGB(i,j);
int values2=bufImg.getRGB(i-1,j-1);
int values3=bufImg.getRGB(i,j-1);
int values4=bufImg.getRGB(i+1,j-1);
int values5=bufImg.getRGB(i-1,j);
int values6=bufImg.getRGB(i+1,j);
int values7=bufImg.getRGB(i-1,j+1);
int values8=bufImg.getRGB(i,j+1);
int values9=bufImg.getRGB(i+1,j+1);


int [] pic = new int [9];
pic[0]=values1/4;
pic[1]=values2/16;
pic[2]=values3/8;
pic[3]=values4/16;
pic[4]=values5/8;
pic[5]=values6/8;
pic[6]=values7/16;
pic[7]=values8/8;
pic[8]=values9/16;

int sum=pic[0]+pic[1]+pic[2]+pic[3]+pic[4]+pic[5]+pic[6]+pic[7]+pic[8] ;
values1=sum;
Color newColor = new Color(values1);
resultImg.setRGB(i,j,newColor.getRGB());
}
}

return resultImg;
}
}
我想RUN到好似我另外一个图甘,只狗个图就系我做完之后个结果,请问点解先改到我想要果个结果?谢谢

[ 本帖最后由 ng2b30 於 2013-12-26 09:37 PM 编辑 ]
未命名.jpg (146.82 KB)

2013-12-26 09:36 PM

未命名1.jpg (386.49 KB)

2013-12-26 09:36 PM

作者: ng2b30   发布时间: 2014-02-27

做任何Bluring都是要先分开三只颜色来做


R = (RGB & 0xff0000) >> 16
G = (RGB & 0xff00) >> 8
B = RGB & 0xff





[ 本帖最后由 Susan﹏汪汪 於 2013-12-27 02:50 PM 编辑 ]

作者: Susan﹏汪汪   发布时间: 2014-02-27

热门下载

更多