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 编辑 ]
{
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
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 编辑 ]
即
R = (RGB & 0xff0000) >> 16
G = (RGB & 0xff00) >> 8
B = RGB & 0xff
[ 本帖最后由 Susan﹏汪汪 於 2013-12-27 02:50 PM 编辑 ]
作者: Susan﹏汪汪 发布时间: 2014-02-27
相关阅读 更多
热门阅读
-
office 2019专业增强版最新2021版激活秘钥/序列号/激活码推荐 附激活工具
阅读:74
-
如何安装mysql8.0
阅读:31
-
Word快速设置标题样式步骤详解
阅读:28
-
20+道必知必会的Vue面试题(附答案解析)
阅读:37
-
HTML如何制作表单
阅读:22
-
百词斩可以改天数吗?当然可以,4个步骤轻松修改天数!
阅读:31
-
ET文件格式和XLS格式文件之间如何转化?
阅读:24
-
react和vue的区别及优缺点是什么
阅读:121
-
支付宝人脸识别如何关闭?
阅读:21
-
腾讯微云怎么修改照片或视频备份路径?
阅读:28