用JAVA进行图像识别.docx

用JAVA进行图像识别.docx

ID:59145679

大小:59.78 KB

页数:5页

时间:2020-09-11

用JAVA进行图像识别.docx_第1页
用JAVA进行图像识别.docx_第2页
用JAVA进行图像识别.docx_第3页
用JAVA进行图像识别.docx_第4页
用JAVA进行图像识别.docx_第5页
资源描述:

《用JAVA进行图像识别.docx》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、我们来用JAVA制作一个进行图像识别的小程序.输入两个图像路径,就可以进行比对,然后输出相似度接下来是制作过程首先制作界面GUI制作完成后效果如下接下来开始实现功能在点击对比按钮后先从两个输入框中获取两个图像路径载入内存中代码如下protectedvoidCompareImage(){try{BufferedImagebufferedImage1=ImageIO.read(newFile(image1_textField.getText()));BufferedImagebufferedImage2=ImageIO.read(newFile(imag

2、e2_textField.getText()));//获得相似度floatSimilarity=CompareImageTool.CompareImage(bufferedImage1,bufferedImage2);//在标签上显示label.setText("图片相似度:"+Similarity);}catch(IOExceptione){//TODOAuto-generatedcatchblockInfo_Label.setText("读取图片出错!");e.printStackTrace();}}我们这边将读取进来的图片转化为两个Buffer

3、edImage对象,发送到CompareImageTool.CompareImage方法中进行比较接下来我们完成这个对比的方法我们这里要求的是图片相似度,算法有很多种,我们这边采用这样一种方法。首先扫描图片的每个像素,获取所有RGB值,相同的RGB值放在一起。最后得到的是一个保存该图片所有RGB值出现的次数的HashMap代码如下privatestaticHashMapGetRGBMap(BufferedImagebufferedImage){HashMapmap=newHashMap();for(intx=0;x

4、Width();x++){for(inty=0;y

5、这边就要用到一点数学知识,我们可以将这个得到的HashMap视为一个特殊的向量,向量维数视作所有出现过的RGB值,分量的值则是出现的次数。这个时候就巧妙的将两张图片,转化为两个含有该图像特征的向量这个时候就好办了,大家肯定学习过这么一条公式a*b=

6、a

7、*

8、b

9、*cos 也就是向量点积,等于向量的模相乘再乘上向量夹角。那么这个夹角,就可以视为两条向量之间的相似程度。当然,为了使我们得到的cos的值卡在0,1之间,还需要对向量进行归一化代码如下privatestaticHashMapVectorNormalizing(HashMap

10、RGBMap){//求图片特征向量1的模长doubleModulaLength=0;for(Objecti:RGBMap.keySet()){//先将所有平方相加ModulaLength+=Math.pow((double)(int)RGBMap.get(i),2);}//求平方根ModulaLength=Math.sqrt(ModulaLength);//将图片特征向量1标准化for(Objecti:RGBMap.keySet()){ doublea=(double)(int)RGBMap.get(i);a=a/ModulaLength;RGBMa

11、p.put(i,a);}returnRGBMap;}接下来就是最后一步了!求出所需的cos即是相似程度!代码如下publicstaticfloatCompareImage(BufferedImagebufferedImage1,BufferedImagebufferedImage2){HashMapRGBMap1=GetRGBMap(bufferedImage1);HashMapRGBMap2=GetRGBMap(bufferedImage2);//相似度floatSimilarity=0; //将两个HashMap视作特征向量进行归一化R

12、GBMap1=VectorNormalizing(RGBMap1);RGBMap2=VectorNormal

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。