高斯模糊java代码_简单的java高斯模糊算法
importjava.awt.Color;importjava.awt.image.BufferedImage;importjava.io.File;importjava.io.IOException;importjavax.imageio.ImageIO;public classTest
{/*** 简单高斯模糊算法
*
*@paramargs
*@throwsIOException [参数说明]
*
*@returnvoid [返回类型说明]
*@exceptionthrows [违例类型] [违例说明]
*@see[类、类#方法、类#成员]*/
public static voidmain(String[] args)throwsIOException
{
BufferedImage img= ImageIO.read(new File("d:\\My Documents\\psb.jpg"));
System.out.println(img);int height =img.getHeight();int width =img.getWidth();int[][] matrix = new int[3][3];int[] values = new int[9];for (int i = 0; i < width; i++)
{for (int j = 0; j < height; j++)
{
readPixel(img, i, j, values);
fillMatrix(matrix, values);
img.setRGB(i, j, avgMatrix(matrix));
}
}
ImageIO.write(img,"jpeg", new File("d:/test.jpg"));//保存在d盘为test.jpeg文件
}private static void readPixel(BufferedImage img, int x, int y, int[] pixels)
{int xStart = x - 1;int yStart = y - 1;int current = 0;for (int i = xStart; i < 3 + xStart; i++)
{for (int j = yStart; j < 3 + yStart; j++)
{int tx =i;if (tx < 0)
{
tx= -tx;
}else if (tx >=img.getWidth())
{
tx=x;
}int ty =j;if (ty < 0)
{
ty= -ty;
}else if (ty >=img.getHeight())
{
ty=y;
}
pixels[current++] =img.getRGB(tx, ty);
}
}
}private static void fillMatrix(int[][] matrix, int... values)
{int filled = 0;for (int i = 0; i < matrix.length; i++)
{int[] x =matrix[i];for (int j = 0; j < x.length; j++)
{
x[j]= values[filled++];
}
}
}private static int avgMatrix(int[][] matrix)
{int r = 0;int g = 0;int b = 0;for (int i = 0; i < matrix.length; i++)
{int[] x =matrix[i];for (int j = 0; j < x.length; j++)
{if (j == 1)
{continue;
}
Color c= newColor(x[j]);
r+=c.getRed();
g+=c.getGreen();
b+=c.getBlue();
}
}return new Color(r / 8, g / 8, b / 8).getRGB();
}
}
高斯模糊java代码_简单的java高斯模糊算法相关推荐
- 小学数学闯关游戏 java代码_简单的java程序 小学数学闯关游戏 多谢高分
展开全部 有4个类 MainFrame,Question,QuestionPanel,ResultPanel import java.awt.BorderLayout; import java.awt ...
- 日记本java代码_简单的JAVA日记本程序源代码
[实例简介] 一个入门级的JAVA程序源代码,界面绝对赞,很Q的日记本,原理不复杂,代码注释非常详尽清晰,一看就懂.适合初学者. [实例截图] [核心代码] JAVA日记本程序 └── yang ├─ ...
- 简单java程序_简单的Java程序
简单java程序 Simple java programs are good for assessing the coding skills of a programmer. You will fin ...
- java 抽奖_简单实现java抽奖系统
导读热词 本文为大家分享了java抽奖系统的具体代码,供大家参考,具体内容如下 用户信息类 /* * 用户信息类 * 1.账号 * 2.密码 * 3.卡号 * 4.是否登录 */ public cla ...
- 红牛农场java代码_实验题目 Java语言概述.doc
实验题目 Java语言概述 实验一 Java语言概述 [实验目的] 1.掌握开发Java应用程序的三个步骤:编写源文件.编译源文件和运行应用程序. 2.熟悉Java应用程序的基本结构,并能联合编译应用 ...
- 简单的秒表计时器java报告_简单的Java秒表计时器(线程)
秒表的个个位数的计算: package Seconds; public class Watch_time extends Thread{ int ms,ms_1,ms_2; int s,s_1; in ...
- 女性bmi计算器JAVA代码_简单的BMI计算器
1.把需要用的资源声明出来,有的用findViewById找出来,没有的new出来,比如按钮的监听器. 2.因为这个程序做的是数值计算,默认的往里输入的会默认为edit型,从资源取出并计算时要转为do ...
- 搜索功能java代码_简单的搜索框代码实现
简单的搜索框页面功能的实现(代码如下) String path = request.getContextPath(); String basePath = request.getScheme()+&q ...
- 电子记事本java代码_简单电子记事本的实现用java
import java.awt.*; import java.awt.event.*; import java.io.*; public class tt extends Frame implemen ...
最新文章
- poj3122(二分算法)
- 2014Esri国际用户大会ArcGIS Online
- 2021-09-22
- findbugs, checkstyle, pmd的myeclipse7.5+插件安装(转:http://blog.csdn.net/priestmoon/article/details/63941)
- 第十六期:AWS 瘫痪:DNS 被 DDoS 攻击了 15 个小时
- python-函数的多值传参
- 【机器学习】无监督学习--(聚类)Mini Batch K-Means
- java tm 2已停止工作_Java(TM) 2 Platform Standard Edition binary 已停止工作
- S.O. 推出程序员身价计算器,看看自己值多少钱?
- wincap的使用总结
- github博客绑定个性域名
- WPF导出发布安装包,无法验证发行者解决办法
- 达梦数据库DM8同步到KAFKA的部署方法
- 神经网络与深度学习-chapter2 反向传播算法
- 【Python实用API】文本转语音库-pyttsx3
- 从3元/条的个人信息买卖看企业数据安全建设
- c#多线程防止界面卡死
- Spring 多数据源配置详解
- python英文诗歌统计_Python-Data-mining-Tutorial
- 做副业月薪12K+,工作效率翻倍,Python是个什么宝藏?
热门文章
- GridView使用RenderControl取得HTML的问题
- 右键word(docx)丢失问题
- create table ,create table as 与create like三种建表方式的使用详解
- UpdatePanel的用法详解
- H2N-Hyp-FF-OH, 2493080-84-3
- vue-03-传值,组件属性、事件、内容
- 侯捷C++课程笔记03: STL标准库与泛型编程
- 烧写linux系统到开发板中,【嵌入式开发】向开发板中烧写Linux系统
- 小甜点,RecyclerView 之 ItemDecoration 讲解及高级特性实践
- win10搭建JSP开发环境详细步骤【图文】