本安装教程属于CLI安装,Windows用户可以使用Power Shell
官网教程点击查看
安装OpenCV
# git克隆项目
git clone git://github.com/opencv/opencv.git
cd opencv
# 切换对应的版本分支
git checkout 4.x
mkdir build && cd build
# 生成Makefile
cmake -DBUILD_SHARED_LIBS=OFF ..
# 执行构建
make -j8
在Maven项目中使用OpenCV
在opencv/build/bin
的目录下,可以找到生成的jar包opencv-480.jar(480为对应的版本号)
和包含Java绑定和所有OpenCV内容的本地动态库(Linux为 lib/libopencv_java480.so
或 Windows为bin/Release/opencv_java480.dll
),后续将使用这两个文件
- 在src/main/resources下新建lib.opencv包并添加两个文件
- pom.xml添加如下信息(版本号自行修改)
<dependency>
<groupId>org</groupId>
<artifactId>opencv</artifactId>
<scope>system</scope>
<systemPath>${project.basedir}/src/main/resources/lib/opencv/opencv-480.jar</systemPath>
<version>4.8.0</version>
</dependency>
- 添加代码测试
import org.opencv.core.CvType;
import org.opencv.core.Mat;
import java.net.URL;
import static org.opencv.highgui.HighGui.imshow;
import static org.opencv.highgui.HighGui.waitKey;
import static org.opencv.imgcodecs.Imgcodecs.imread;
import static org.opencv.imgproc.Imgproc.COLOR_RGB2GRAY;
import static org.opencv.imgproc.Imgproc.cvtColor;
public class Application {
public static void main(String[] args) throws Exception {
// 加载动态库
URL url = ClassLoader.getSystemResource("lib/opencv/libopencv_java480.so");
System.load(url.getPath());
// 读取图像
Mat image = imread("/home/insight/ ss.jpg");
if (image.empty()) {
throw new Exception("image is empty");
}
imshow("Original Image", image);
// 创建输出单通道图像
Mat grayImage = new Mat(image.rows(), image.cols(), CvType.CV_8SC1);
// 进行图像色彩空间转换
cvtColor(image, grayImage, COLOR_RGB2GRAY);
imshow("Processed Image", grayImage);
waitKey();
}
}