springboot+openCV项目:使用和linux部署
WINFOW系统上使用
- 下载opevCV的window版本(exe文件)下载地址
- 运行-解压,得到jar文件
- 添加maven依赖
<dependency>
<groupId>org.bytedeco</groupId>
<artifactId>opencv-platform</artifactId>
<version>4.5.5-1.5.7</version>
</dependency>
- 复制dll文件到 C:\Windows\System32中
- 测试代码
public class SliderImageUtil {
static {
System.loadLibrary(Core.NATIVE_LIBRARY_NAME);
}
/**
*
* @param oriCopyImage 含缺口图片
* @param newImage 缺口图片
* @return
*/
public static int getSliderX(String oriCopyImage,String newImage){
// 读取含缺口图片和缺口图片
Mat fullImage = Imgcodecs.imdecode(new MatOfByte(Base64.getDecoder().decode(oriCopyImage)), Imgcodecs.IMREAD_GRAYSCALE);
Mat gapImage = Imgcodecs.imdecode(new MatOfByte(Base64.getDecoder().decode(newImage)), Imgcodecs.IMREAD_GRAYSCALE);
// 进行模板匹配
Mat result = new Mat();
Imgproc.matchTemplate(fullImage, gapImage, result, Imgproc.TM_CCOEFF_NORMED);
// 获取最佳匹配位置
Core.MinMaxLocResult mmr = Core.minMaxLoc(result);
Point matchLoc = mmr.maxLoc;
// 计算缺口需要滑动的X坐标
int slideX = (int) matchLoc.x;
return slideX;
}
}
linux系统上使用
- 安装JDK
- 安装其他命令
yum -y install gcc-c++
yum -y install gtk±devel
yum -y install gimp-devel gimp-devel-tools gimp-help-browser
yum -y install zlib-devel
yum -y install libtiff-devel libjpeg-devel libpng-devel
yum -y install gstreamer-devel
yum -y install libavc1394-devel libraw1394-devel libdc1394-devel
yum -y install jasper-devel jasper-utils
yum -y install swig
yum -y install python
yum -y install libtool
yum -y install nasm
yum -y install build-essential
yum -y install ant
- 安装cmake
sudo wget https://cmake.org/files/v3.22/cmake-3.22.0-rc1-linux-x86_64.tar.gz
- 解压cmake
tar -zxvf cmake-3.22.0-rc1-linux-x86_64.tar.gz
- 软连接设置
[root@localhost srv]# sudo mv cmake-3.22.0-rc1-linux-x86_64 /opt/cmake
[root@localhost srv]# sudo ln -sf /opt/cmake/bin/* /usr/bin/
[root@localhost srv]# cmake --version
cmake version 3.22.0-rc1
CMake suite maintained and supported by Kitware (kitware.com/cmake).
cmake安装成功
-
安装opencv
下载openCV的源码包(zip /tar.gz)
下载地址:下载地址 -
创建opencv安装目录并且解压
[root@localhost /]# mkdir -p /usr/local/opencv_make
[root@localhost opencv_make]# cd /usr/local/opencv_make
[root@localhost opencv_make]# mkdir release
[root@localhost opencv_make]#unzip /srv/opencv-4.5.5.zip
- 解压成功后创建build
[root@localhost opencv_make]# ls
opencv-4.5.5 release
[root@localhost opencv_make]# cd opencv-4.5.5
[root@localhost opencv-4.5.5]# mkdir build
- cmake
[root@localhost build]# cd build
[root@localhost build]# cmake -D CMAKE_BUILD_TYPE=RELEASE -D CMAKE_INSTALL_PREFIX=/usr/local/opencv_make/release -DBUILD_TESTS=OFF ..
- 编译
[root@localhost build]# lscpu // 查看CPU核数
[root@localhost build]# make -j2 // 注意按照自己计算机的核数,我是2核的
[root@localhost build]# make
最终结果
linux部署的时候要注意
cp lib/libopencv_java455.so /usr/lib/
/usr/lib/ 是你java程序的java.library.path