资源简介
基于JAVA实现的图像特征提取源代码,能够输出图像的七个hu不变量特征,打开eclipse,导入工程,运行Test.java,可以把Test里面的注释弄掉运行更多的功能
代码片段和文件信息
package fq;
import java.awt.image.BufferedImage;
import java.awt.image.ColorModel;
import java.awt.image.WritableRaster;
import java.io.File;
import javax.imageio.ImageIO;
import fq.Point;
public class FqImage {
public static final double SOBELDOOR = 80.00;
public BufferedImage imh;
public int height;
public int width;
public Point[][] points;
public double[][] sobels;
public int[][] edge;
public double[] colorJuH = new double[4];
public double[] colorJuS = new double[4];
public double[] colorJuV = new double[4];
public double[] huJu = new double[8];
public double getAbsColorDistance( FqImage other ){
int width = FqMath.min(this.width other.width);
int height = FqMath.min(this.height other.height);
int sum = 0;
for( int i = 0 ; i < width ; i++ ){
for( int j = 0 ; j < height ; j++ ){
sum += this.points[i][j].pointDistance(other.points[i][j]);
}
}
return sum;
}
public double f( int i int j ){
double temp = this.points[i][j].getGray();
return temp;
}
public void toSobel(){
double fx fy;
double sobel;
int i j;
for( i = 1 ; i < this.width - 1 ; i++ ){
for( j = 1 ; j < this.height - 1 ; j++ ){
fx = ( f(i-1j-1) + 2*f(i-1j) + f(i-1j+1) ) - ( f(i+1j-1) + 2*f(i+1j) + f(i+1j+1) );
fy = ( f(i-1j-1) + 2*f(ij-1) + f(i+1j-1) ) - ( f(i-1j+1) + 2*f(ij+1) + f(i+1j+1) );
this.sobels[i][j] = FqMath.max( Math.abs(fx) Math.abs(fy) );
}
}
}
public void toEdge(){
int i j;
for( i = 0 ; i < this.width ; i++ ){
for( j = 0 ; j < this.height ; j++ ){
if( this.sobels[i][j] > SOBELDOOR )
this.edge[i][j] = 1;
else
this.edge[i][j] = 0;
}
}
}
public FqImage cutSmallest(){
final double EDGEDOOR = 4;
int i j;
int left = 0;
int right = 0;
int top = 0;
int bottom = 0;
int count = 0;
for( i = 0 ; i < this.width ; i++ ){
count = 0;
for( j = 0 ; j < this.height ; j++ ){
if( this.edge[i][j] == 1 )
count++;
}
if( count >= EDGEDOOR ){
left = i;
break;
}
}
for( i = this.width - 1 ; i >= 0 ; i-- ){
count = 0;
for( j = 0 ; j < this.height ; j++ ){
if( this.edge[i][j] == 1 )
count++;
}
if( count >= EDGEDOOR ){
right = i;
break;
}
}
for( j = 0 ; j < this.height ; j++ ){
count = 0;
for( i = 0 ; i < this.width ; i++ ){
if( this.edge[i][j] == 1 )
count++;
}
if( count >= EDGEDOOR ){
top = j;
break;
}
}
for( j = this.height - 1 ; j >= 0 ; j-- ){
count = 0;
for( i = 0 ; i < this.width ; i++ ){
if( this.edge[i][j] == 1 )
count++;
}
if( count >= EDGEDOOR ){
bottom = j;
break;
}
}
BufferedImage subImh = this.imh.getSubimage(left top right-left bottom-top);
return new FqImage(subImh);
}
public void setCo
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
目录 0 2011-12-27 15:45 基于JAVA实现的图像特征提取源代码\
文件 6708 2007-07-04 16:28 基于JAVA实现的图像特征提取源代码\FqImage.class
文件 9942 2007-07-04 16:24 基于JAVA实现的图像特征提取源代码\FqImage.java
文件 856 2007-07-04 16:28 基于JAVA实现的图像特征提取源代码\FqMath.class
文件 503 2007-04-20 17:16 基于JAVA实现的图像特征提取源代码\FqMath.java
目录 0 2011-12-27 15:45 基于JAVA实现的图像特征提取源代码\images\
文件 14442 2007-04-17 15:39 基于JAVA实现的图像特征提取源代码\images\1.jpg
文件 1061 2007-07-03 15:22 基于JAVA实现的图像特征提取源代码\images\2.gif
文件 157 2007-04-03 10:15 基于JAVA实现的图像特征提取源代码\images\cross.gif
文件 158 2007-04-03 10:15 基于JAVA实现的图像特征提取源代码\images\not.gif
文件 9216 2008-10-01 12:14 基于JAVA实现的图像特征提取源代码\images\Thumbs.db
文件 4075 2007-07-10 15:09 基于JAVA实现的图像特征提取源代码\Point.class
文件 4156 2007-07-10 15:09 基于JAVA实现的图像特征提取源代码\Point.java
文件 5610 2007-07-10 15:48 基于JAVA实现的图像特征提取源代码\Test.class
文件 6819 2011-12-27 14:57 基于JAVA实现的图像特征提取源代码\Test.java
文件 749 2007-07-04 16:21 基于JAVA实现的图像特征提取源代码\Test2.class
文件 345 2007-07-03 17:03 基于JAVA实现的图像特征提取源代码\Test2.java
- 上一篇:Java五子棋经典程序,非常详细
- 下一篇:java图书馆管理系统项目总结PPT
相关资源
- java图书馆管理系统项目总结PPT
- Java五子棋经典程序,非常详细
- Java编程实现同步序列密码的加密解密
- Java 实现的ATM模拟系统
- JAVA实现的流服务(直播点播)
- java编写socket服务端和客户端给予cmp
- java数据库连接小程序
- Java+Access+GUI学生成绩管理系统
- Java to C# Converter 破解版
- 张孝祥老师讲解java的多线程的配套
- 《Java Web程序设计任务教程》_课后习
- 疯狂Java第三版百度云资源
- 实用的个人存款计算器用java语言编写
- clazzdumpcustagent
- 基于Java的企业进销存管理系统开题报
- JavaFX多功能简易计算器及课程设计报
- Ajax实现java web 中下拉列表二级联动
- pagehelper-3.4.2-fixjar包完整版
- gps定位谷米gt06 java代码
- C++转换为Java工具破解版[非试用版1.
- java 备忘录
- JAVA编的图书馆管理系统含源代码及数
- java实现银行家算法操作系统
- java编写的图书管理系统,提供源码
- Java语言编程规范(华为公司)
- Netbeans java GUI 背景图片加载图文攻略
- java banking 银行管理系统
- java多人聊天系统,图形用户界面
- javaweb在线聊天网站
- java 控制台学生管理系统
评论
共有 条评论