本文主要介绍如何搭建环境,并成功的运行一个图片相似度测试项目。该项目基于Spring框架,创建了图片上传Restful API,并使用OpenCV进行图像的处理,提取出图中的物品同时对物品进行相似度对比操作。项目中,结合了两种图片相似度测试的方法,对处理过的图片进行相似度测试,增加了测试的准确度。该项目不涉及数据库,上传的图片及处理后的图片直接存储在文件系统上。
GitHub地址:https:///Northeastern-University-Blockchain/Picture-Similarity
一、运行效果截图
1.运行初始网页。
2.选择想要测试的图片。
左边为需要进行对比的图片,右边为实物图片。
3.点击上传按钮,跳出结果。
4.图片将被保存到本地文件夹下。
如图1.jpg和2.jpg,为上传图片;dst_src.jpg为1.jpg裁剪过后的生成图片。(文件存放在E盘tmpFiles文件夹下。)
二、使用软件及版本
Eclipse 4.8.0 (Photon)、Tomcat 9.0、OpenCV 3.4.1
安装链接:
Eclipse: Https://www.oracle.com/technetwork/java/javase/downloads/index.html Tomcat: Http://tomcat.apache.org/ OpenCV: Https://opencv.org/opencv-3-4-1.html
三、搭建运行环境
1.Eclipse的安装与配置
Eclipse安装与配置方法链接:
(本项目安装的是Eclipse 4.8.0 Photon版本,仅供读者参考。)
2.在Eclipse添加Dynamic Web Project项目选项
如果已有的Eclipse为SE版本,则无法创建web项目。需要添加Java EE开发插件。添加方法链接:
3.TomCat的安装与配置
Tomcat安装与配置方法链接:
(本项目安装的是TomCat 9.0版本,仅供读者参考。)
注意:Tomcat安装后自动运行,点击stop按钮停止运行,以防在Eclipse中运行Tomcat时发生冲突。如下图:
4.在Eclipse配置Tomcat服务器
Tomcat安装与配置完成后,需要在eclipse中进行路径配置,配置方法链接:
https://jingyan.baidu.com/article/3065b3b6efa9d7becff8a4c6.html
5.C++配置OpenCV环境变量
首先在我的电脑右键属性,在系统属性中选择高级,打开设置环境变量的界面。其中上半部分为用户变量,下半部分为系统变量。
(1)在用户变量中添加PATH变量,值为:安装目录\opencv\build\x86\vc12\bin;安装目录\opencv\build\x64\vc12\bin。
(2)在用户变量中添加OPENCV,值为:安装目录\opencv\build。
(具体可参考链接:)
四、导入项目及运行
1.在Eclipse中导入项目文件SpringRestPicUpload-Similarity
工程目录如图所示:
Imgcompare/ImgMatch中为图片裁剪与相似度测试代码。
uploadMultiple.jsp为图片上传界面。
2.给项目添加服务器,右键项目文件夹–>Bulid Path–>Add Libraries,选择Server Runtime选项,Next
选择Apache TomCat v9.0选项(选择与你安装的TomCat版本相同的选项),Finish。
3.C++动态链接库的配置
由于本项目调用了C++的算法,所以需要进行C++ dll文件的配置。
具体配置方法参考链接:
在test类中,改变dll文件的路径。(文件为上述配置好的dll文件。)
4.项目运行
运行uploadMultiple.jsp,选择Tomcat v9.0 Server点击Next。
点击Add,添加页面至服务器,点击Finish运行。
运行界面如下:
- 如有疑问,欢迎大家留言讨论。