Java怎么实现图片比对算法
发表于:2024-11-30 作者:千家信息网编辑
千家信息网最后更新 2024年11月30日,这篇"Java怎么实现图片比对算法"文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇"Ja
千家信息网最后更新 2024年11月30日Java怎么实现图片比对算法
这篇"Java怎么实现图片比对算法"文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇"Java怎么实现图片比对算法"文章吧。
效果如下:
识别结果:
主要代码如下:
import javax.imageio.*;import java.awt.image.*;import java.awt.*;import java.io.*; public class PhotoDigest { public static void main(String[] args) throws Exception { float percent = compare(getData("/Users/sun/Downloads/1.jpg"), getData("/Users/sun/Downloads/3.jpg")); if (percent == 0) { System.out.println("无法比较"); } else { System.out.println("两张图片的相似度为:" + percent + "%"); } } public static int[] getData(String name) { try { BufferedImage img = ImageIO.read(new File(name)); BufferedImage slt = new BufferedImage(100, 100, BufferedImage.TYPE_INT_RGB); slt.getGraphics().drawImage(img, 0, 0, 100, 100, null); // ImageIO.write(slt,"jpeg",new File("slt.jpg")); int[] data = new int[256]; for (int x = 0; x < slt.getWidth(); x++) { for (int y = 0; y < slt.getHeight(); y++) { int rgb = slt.getRGB(x, y); Color myColor = new Color(rgb); int r = myColor.getRed(); int g = myColor.getGreen(); int b = myColor.getBlue(); data[(r + g + b) / 3]++; } } // data 就是所谓图形学当中的直方图的概念 return data; } catch (Exception exception) { System.out.println("有文件没有找到,请检查文件是否存在或路径是否正确"); return null; } } public static float compare(int[] s, int[] t) { try { float result = 0F; for (int i = 0; i < 256; i++) { int abs = Math.abs(s[i] - t[i]); int max = Math.max(s[i], t[i]); result += (1 - ((float) abs / (max == 0 ? 1 : max))); } return (result / 256) * 100; } catch (Exception exception) { return 0; } }}
以上就是关于"Java怎么实现图片比对算法"这篇文章的内容,相信大家都有了一定的了解,希望小编分享的内容对大家有帮助,若想了解更多相关的知识内容,请关注行业资讯频道。
内容
图片
算法
就是
文件
文章
知识
篇文章
相似
代码
价值
图形
大部分
效果
更多
概念
步骤
直方图
知识点
结果
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
软件开发投资估算
网络安全亚信
网络服务器有什么操作系统
一张手抄报关于网络安全
phpcms数据库在哪
大学校园网络安全宣传周活动总结
手机访问nas服务器
服务器对Idv的管理
网络安全专业对选课的要求
学校网络安全教育报道稿
福建纵腾网络技术有限
软件开发龙头
医院网络安全责任 追究
sql服务器无法启动
网络安全扫描策略
网络安全安天集团
视频管理服务器主机
音译软件开发
翻页时钟软件开发
郑州天健湖网络安全
山东共青团网络安全直播
怀柔区网络技术售后服务
网络安全在身边 征文大纲
计算机网络技术英语要好吗
数据库标准化管理方案
网易我的世界第九大陆服务器怎么刷物资
如何查看手机连接游戏服务器
jsp和什么数据库配套
数据库防火墙怎么用
网络安全贡献