Java opencv3_一、opencv3.4整合java8

前言:最近在自学一些opencv相关的技术,采用windos10环境,整合opencv3.4.1和java。参考学习文献为《opencv与jvm》。

废话不多说,开始整合

下载jdk8和opencv3.4.1

1.jdk8

配置环境变量....

2.opencv3.4.1

一直next就好,安装目录可以自定义。

3.opencv-341.jar

在本地安装目录的{path}\opencv\build\java目录下有个opencv-341.jar

4.编辑器中编写第一个hello-opencv

由于我采用的是junit-test方式:

// 添加 junit 依赖

junit

junit

test

在项目的根目录创建一个lib文件夹,然后导入opencv3.4.1.jar包,并且添加到编译环境。

85caff4d7625

image.png

代码部分:

static {

System.loadLibrary(Core.NATIVE_LIBRARY_NAME);

}

public void test2(){

Mat mat = Mat.eye(3,3, CvType.CV_8UC1);

System.out.println(mat.dump());

}

//结果运行报错

java.lang.UnsatisfiedLinkError: no opencv_java341 in java.library.path

at java.lang.ClassLoader.loadLibrary(ClassLoader.java:1867)

at java.lang.Runtime.loadLibrary0(Runtime.java:870)

at java.lang.System.loadLibrary(System.java:1122)

......

//解决方案 在vm options中添加运行参数

-Djava.library.path=F:/opencv/3.4.1/in/opencv/build/java/x64;F:/opencv/3.4.1/in/opencv/build/x64/vc14/bin

//运行正常 输出:

[ 1, 0, 0;

0, 1, 0;

0, 0, 1]

5.扩展介绍

Mat对象是opencv中的核心对象,书中把它翻译为matrix(矩阵)。

静态代码块中的loadLibrary……,是告诉jvm加载native-opencv的库。必须的一个步骤

Mat.eye(3,3, CvType.CV_8UC1):尺寸3*3,每个像素类型是8UC1,表示8个位的无符号(8U)单通道(C1)整数。·

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值