Java怎么实现图片比对算法
发表于:2025-11-11 作者:千家信息网编辑
千家信息网最后更新 2025年11月11日,这篇"Java怎么实现图片比对算法"文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇"Ja
千家信息网最后更新 2025年11月11日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安全错误
数据库的锁怎样保障安全
上海综合软件开发维修价格
东软网络安全事业
服务器搭建客户管理系统
网络安全可以接私活吗
ui与计算机网络技术的区别
数据库接口怎么查
清远自主可控软件开发批发价格
玩alex连哪个服务器快
绍兴云网络技术服务费
华北科技学院网络安全学院
数据库的文件存在哪里
专科软件开发在深圳好就业吗
折纸小手工网络安全手抄报
曲周县蔬菜产业服务器
网络安全合规是啥
中国网站服务器在哪里
人工智能数据库要求
黑客可以进入彩票数据库
洛阳软件开发项目
机关网络安全建设方案
软件开发中什么时候用到线程
数据库系统故障的恢复技术
即墨云计算中心网络安全采购项目
我的世界手机版租赁服务器缴费
个体工商户下载哪个软件开发票
石油石化网络安全论坛
6g网络技术视频
肿瘤数据库网址
设计编程软件开发合同
cdn和云服务器的关系