在Java语言编程中,如何使用java启用电脑的摄像头摄相拍照?

注意:需要访问网址: , 下载一个OpenCV软件包。这里下载最新版本:opencv-3.2.0-vc14.exe并解压此文件到D:softwareopencv目录中。

项目结构如下图所示 –

添加一个用户自定义库:OpenCV3.2,并指配置构建路径为:D:softwareopencvopencvbuildjavax64,如下图所示 –

注:可参考:

以下是使用Java从系统摄像头拍摄快照的程序 –

package com.yiibai; import java.awt.image.BufferedImage; import java.awt.image.DataBufferByte; import java.awt.image.WritableRaster; import java.io.FileNotFoundException; import java.io.IOException; import javafx.application.Application; import javafx.embed.swing.SwingFXUtils; import javafx.scene.Group; import javafx.scene.Scene; import javafx.scene.image.ImageView; import javafx.scene.image.WritableImage; import javafx.stage.Stage; import org.opencv.core.Core; import org.opencv.core.Mat; import org.opencv.videoio.VideoCapture; public class TakingSnapshotUsingCamera extends Application { Mat matrix = null; @Override public void start(Stage stage) throws FileNotFoundException, IOException { // Capturing the snapshot from the camera TakingSnapshotUsingCamera obj = new TakingSnapshotUsingCamera(); WritableImage writableImage = obj.capureSnapShot(); // Setting the image view ImageView imageView = new ImageView(writableImage); // setting the fit height and width of the image view imageView.setFitHeight(400); imageView.setFitWidth(600); // Setting the preserve ratio of the image view imageView.setPreserveRatio(true); // Creating a Group object Group root = new Group(imageView); // Creating a scene object Scene scene = new Scene(root, 600, 400); // Setting title to the Stage stage.setTitle("启用摄向头照像"); // Adding scene to the satge stage.setScene(scene); // Displaying the contents of the stage stage.show(); } public WritableImage capureSnapShot() { WritableImage WritableImage = null; // Loading the OpenCV core library System.loadLibrary(Core.NATIVE_LIBRARY_NAME); // Instantiating the VideoCapture class (camera:: 0) VideoCapture capture = new VideoCapture(0); // Reading the next video frame from the camera Mat matrix = new Mat(); capture.read(matrix); // If camera is opened if (capture.isOpened()) { // If there is next video frame if (capture.read(matrix)) { // Creating BuffredImage from the matrix BufferedImage image = new BufferedImage(matrix.width(), matrix.height(), BufferedImage.TYPE_3BYTE_BGR); WritableRaster raster = image.getRaster(); DataBufferByte dataBuffer = (DataBufferByte) raster.getDataBuffer(); byte[] data = dataBuffer.getData(); matrix.get(0, 0, data); this.matrix = matrix; // Creating the Writable Image WritableImage = SwingFXUtils.toFXImage(image, null); } } return WritableImage; } public static void main(String args[]) { launch(args); } }

在执行上面示例代码成功后,应该会看到如下输出 –

问题

F:workspjavaexamplesjava_opencv Exception in thread "main" java.lang.UnsatisfiedLinkError: no opencv_java320 in java.library.path at java.lang.ClassLoader.loadLibrary(Unknown Source) at java.lang.Runtime.loadLibrary0(Unknown Source) at java.lang.System.loadLibrary(Unknown Source) at com.yiibai.CopyAndPasteAnImage.main(CopyAndPasteAnImage.java:13)

解决上述问题可通过参考:

¥ 我要打赏 纠错/补充 收藏

java 打开笔记本摄像头_如何使用java启用电脑的摄像头摄相拍照相关推荐

  1. java代码启动电脑相机_如何使用java启用电脑的摄像头摄相拍照

    在Java语言编程中,如何使用java启用电脑的摄像头摄相拍照? 注意:需要访问网址:http://book2s.com/java/jar/o/opencv/download-opencv-3.2.0 ...

  2. java js 打开摄像头_基于HTML5实现的超酷摄像头(HTML5 webcam)拍照功能 - photobooth.js...

    日期:2012-12-10  来源:GBin1.com WebRTC可能是明年最受关注的HTML5标准了,Mozilla为此开发了一套帮助你控制硬件的API,例如,摄像头,麦克风,或者是加速表.你可以 ...

  3. opencv java 摄像头_使用OpenCV Java创建Windows摄像头扫码程序

    OpenCV提供了一些基本的Webcam控制接口.用OpenCV C/C++或者Python,可以在任意平台快速创建一个摄像头预览应用.然而使用Java,情况就复杂的多,因为OpenCV Java并没 ...

  4. java 打开gc日志_在运行时打开GC日志记录

    java 打开gc日志 总是有下一个JVM表现不佳. 而且,您内心深知,如果您只有少数启动选项可以公开一些有关正在发生的事情的信息,那么您可能就有机会真正修复该死的东西. 但是不,您需要的标志( -X ...

  5. java获取机器号_(转)JAVA获得机器码的实现

    http://yangshangchuan.iteye.com/blog/2012401 首先,定义了一个统一的接口,以支持不同操作系统不同实现的透明切换: Java代码  收藏代码 /** *生成机 ...

  6. 新手学java 学哪方面_初学者学Java应从哪些方面学习?

    原标题:初学者学Java应从哪些方面学习? Java作为应用于网络的最好语言,前景无限看好.然而,就算用Java建造一个不是很烦琐的web应用,也不是件轻松的事情.那么,初学者学Java应从哪些方面学 ...

  7. java查找文件路径_如何查找java路径?

    展开全部 Java的路径问题,非常难搞.最近的工作涉及到创建和读取文件的工作,这里我就给大家彻底得解决e69da5e6ba9062616964757a686964616f31333365633838J ...

  8. java访问domino数据库_怎样实现Java远程访问Domino数据库

    Java远程访问Domino数据库推荐采用CORBA实现,但配置非常关键,笔者在工作中也遇到了这个问题,在查阅资料的过程中发现,很多文章明显存在一些误区或者说没有写清楚的地方,现将笔者的实践经验总结出 ...

  9. java关闭安全警告_如何禁用Java“安全警告”弹出窗口?

    将文本文档放在名为deployment.properties c:\ windows \ sun \ Java \ deployment \ deployment.properties的位置 尽管Ja ...

最新文章

  1. 2021年大数据常用语言Scala(十二):基础语法学习 方法调用方式
  2. 漫画讲述人工智能简史
  3. 给url添加时间戳,解决浏览器缓存
  4. Oracle四舍五入,向上取整,向下取整
  5. 系统安装操作优化:chapter5 安装驱动程序与检测电脑
  6. 怎么导出费用科目凭证明细_公司做账:小规模公司怎么做账?
  7. 使用Microsoft Unity进行日志记录
  8. 欲瘦其包,必先探清其底细
  9. android 解决setbackgrounddrawable过时
  10. 分区数据导出功能(页面调整)
  11. ado.net mysql 下载_ADO.Net连接Mysql
  12. 软件工程第八次作业——例行报告
  13. Set集合框架(HashSet and TreeSet)
  14. js中DOM, DOCUMENT, BOM, WINDOW 区别
  15. 传奇世界手游公益服【剑指轩辕2】服务端搭建源码使用指南
  16. 黑马python培训视频网盘下载
  17. win10远程关机命令
  18. 华为 36 岁工程师猝死,曾 22 月无休:比挣钱更重要的是活着
  19. php乘法表颜色渐变图片,用标准标签库写的九九乘法表(带渐变颜色)
  20. 流量负载_指挥流量:揭开互联网规模负载平衡的神秘面纱

热门文章

  1. 深夜爬虫, 我很抱歉 , 附微信 “ 网抑云” 公众号爬虫教程!
  2. mysql mmm搭建_搭建mysql-mmm高可用MySQL集群
  3. 非参数统计:两样本和多样本的Brown-Mood中位数检验;Wilcoxon(Mann-Whitney)秩和检验及有关置信区间;Kruskal-Wallis秩和检验
  4. 《转怒为喜---顾客抱怨投诉处理技巧》
  5. linux 设置开机自启动服务命令,linux开机自启动服务优化设置命令
  6. UVA - 10118Free Candies(记忆化搜索)
  7. 我的世界服务器物品展示怎么得,我的世界怎么使用物品展示框
  8. 创业阶段如何找客户_创业者如何找客户群
  9. 软 RAID 和硬 RAID的比较概览
  10. 反射望远镜的发展历程(4)