【之前困扰笔者的问题描述】   date:2019.12.18

网上教程很多,但是没有看见完整的,所以写一个出来。

调用摄像头需要javaCV的jar包和openCV的jar包,现在已经不需要安装包了,jar包可以下载也可以直接导入pom依赖。一开始我看了网上教程写了代码【代码后附】,然后运行报错,而且找了半天原因都找不到,最后我发现还要openCV的jar包(当时看来看去以为只要javaCVjar包就行。。。)

具体报错这样:

Exception in thread "main" java.lang.UnsatisfiedLinkError: no jniopencv_core in java.library.path
at java.lang.ClassLoader.loadLibrary(ClassLoader.java:1860)
at java.lang.Runtime.loadLibrary0(Runtime.java:870)
at java.lang.System.loadLibrary(System.java:1122)
at org.bytedeco.javacpp.Loader.loadLibrary(Loader.java:976)
at org.bytedeco.javacpp.Loader.load(Loader.java:777)
at org.bytedeco.javacpp.Loader.load(Loader.java:684)
at org.bytedeco.javacpp.opencv_core.<clinit>(opencv_core.java:10)
at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Class.java:348)
at org.bytedeco.javacpp.Loader.load(Loader.java:739)
at org.bytedeco.javacpp.Loader.load(Loader.java:684)
at org.bytedeco.javacpp.helper.opencv_core$AbstractArray.<clinit>(opencv_core.java:109)
at org.bytedeco.javacv.OpenCVFrameGrabber.<init>(OpenCVFrameGrabber.java:82)
at com.kpzx.pzsz.CameraUtil.Camera(CameraUtil.java:26)
at com.kpzx.pzsz.CameraUtil.main(CameraUtil.java:22)
Caused by: java.lang.UnsatisfiedLinkError: no opencv_imgproc320 in java.library.path
at java.lang.ClassLoader.loadLibrary(ClassLoader.java:1860)
at java.lang.Runtime.loadLibrary0(Runtime.java:870)
at java.lang.System.loadLibrary(System.java:1122)
at org.bytedeco.javacpp.Loader.loadLibrary(Loader.java:976)
at org.bytedeco.javacpp.Loader.load(Loader.java:765)
... 10 more

图示:

网上各种答案都有,很难找,最后才发现少了openCV依赖。

1.引入pom依赖

<dependency>
<groupId>org.bytedeco</groupId>
<artifactId>javacv</artifactId>
<version>1.3.3</version>
</dependency>
<dependency>
<groupId>org.bytedeco.javacpp-presets</groupId>
<artifactId>opencv</artifactId>
<version>3.1.0-1.2</version>
</dependency>
注意:javaCV版本要匹配OpenCV版本,不知道匹配什么版本的查一下。我用的javacv1.3.3网上好评较多,不过版本好像比较旧了,大家有需要的可以试试别的。

2.核心代码

此处引用一位大佬的。http://www.zuidaima.com/blog/3846434797243392.htm  代码没问题,亲测,复制进去有问题的八成自己引用包引用错了,或者编译器自动导包错乱

3.运行实测:

保存到本地

项目结构

最后:如有瑕疵不足,或有更好建议的欢迎大佬留言。

【Java】调用摄像头进行拍照并保存【详细】以及处理no jniopencv_core in java.library.path的一种方法的更多相关文章

  1. Java调用摄像头截图

    使用webcam-capture替换JMF调用摄像头 最近有个需要通过java调用摄像头,并截图的需求,在网上找了下资料,大部分是用一个叫jmf的库,但是jmf已经几百年没有更新,用起来各种问题.后来 ...

  2. html5调用摄像头实现拍照

    技术时刻都在前进着.我们的需求也是时刻在改变着.最近在开发中遇到了用户进行账号注册时需要个人图像,网站提供自动拍照功能.还有在登录了PC之后,手机端进行登录时只需要扫描一下PC上的二维码就可以登录.这 ...

  3. java javacv调用摄像头并拍照

    调用摄像头并拍张照片,我一开始用的java的jmf媒体框架,但这个有很多的局限性不好使并且很有麻烦,兜了一圈发现javacv东西,研究之后这东西简单,方便:废话不多说了来重点. javacv官网:点击 ...

  4. html5调用摄像头并拍照

    随着flash被禁用,flash上传附件的方式已成为过去,现在开始用html5上传了.本片文章就是介绍如何使用html5拍照,其实挺简单的原理: 调用摄像头采集视频流,利用canvas的特性生成bas ...

  5. HTML之调用摄像头实现拍照和摄像功能

    应该有很多人知道,我们的手机里面有个功能是“抓拍入侵者”,说白了就是在解锁应用时如果我们输错了密码手机就会调用这一功能实现自动拍照. 其实在手机上还有很多我们常用的软件都有类似于这样的功能,比如微信扫 ...

  6. JAVA java调用C++动态链接库dll,有详细过程。VS2015+Eclipse以及失败解决方案

    一.新建Java工程,在Java类中声明一个native的方法 新建Java项目 在新建的项目中创建packet(包),并且在包下创建一个Class(类). 接下来,在该类中添加如下代码: ? 1 2 ...

  7. java调用摄像头

    http://blog.csdn.net/xing_sky/article/details/43482213 原文地址:http://blog.csdn.net/zajin/article/detai ...

  8. android调用系统相机拍照并保存在本地

    import java.io.File; import java.io.FileNotFoundException; import java.io.FileOutputStream; import j ...

  9. Vue2.0 引用 exif.js 实现调用摄像头进行拍照功能以及图片上传功能

    vue组件代码 <template> <div> <div style="padding:20px;"> <div class=" ...

随机推荐

  1. discuz支持的mysql的配置(docker版本)

    作个笔录. conf/discuz.conf [client] port=3306 default-character-set=utf8 [mysqld] port=3306 default-stor ...

  2. Fluter基础巩固之Dart语言详解<三>

    继续Dart语言的学习,这次过后下次就进入全新的Flutter的学习了,小小的激动.. 操作符重载: C++中也有,咱们来看一下在Dart中是如何来实现的: 比较简单. 异步[重要!]: async和 ...

  3. 遇到libgflags.a(gflags.cc.o): relocation R_X86_64_32 against `.rodata.str1.1' ca时

    glfag编译成动态库gflags 正确的安装方法是这样的: Need cmake >2.8.4 (current is 2.8.3) mkdir build cd build cmake -D ...

  4. java.util.ConcurrentModificationException异常;java.util.ConcurrentModificationException实战

    写代码遇到这个问题,很多博客文章都是在反复的强调理论,而没有对应的实例,所以这里从实例出发,后研究理论: 一.错误产生情况 1 .字符型 (1)添加 public static void main(S ...

  5. Layer获取iframe的dom元素及调用iframe页的js方法

    1. 父页面点击第一个按钮触发,获取子页面中的body元素,调用子页面中定义的js方法 yes : function(index,layero){ //获取iframe的body元素 var body ...

  6. VIJOS-P1199 核弹危机

    JDOJ 1347: VIJOS-P1199 核弹危机 题目传送门 Description shibowen和ganggang正在玩红警,可不料shibowen造出了核弹正要发射......(gang ...

  7. Windows WoW64浅析

    WOW64(Windows-On-Windows 64bit)是X64 Windows操作系统的一个子系统,为32位应用程序提供运行环境.类似的还有WOW32子系统,负责在32位Windows系统上运 ...

  8. es4x 使用nodejs 开发vertx 应用框架试用

    es4x 是将vertx 的特性带到nodejs 的开发中,性能很不错,同时开发方式和nodejs 一样,可以加速vertx 应用的开发,同时也可以方便的集成java 软件包,提供的cli 工具也很方 ...

  9. 使用plv8+hashids生成短链接服务

    有写过一个集成npm plv8 以及shortid生成短链接id服务,实际上我们可以集成触发器自动生成url对应的短链接地址,hashids也是一个不错的选择. 以下是一个别人写的一个博客实现可以参考 ...

  10. A Deep Dive into PL/v8

    Back in August, Compose.io announced the addition of JavaScript as an internal language for all new ...