0.概述
简单学习了一下Java本地新建窗口并调用摄像头
1.引入pom.xml依赖
<dependency>
<groupId>org.bytedeco</groupId>
<artifactId>javacv-platform</artifactId>
<version>1.4.4</version>
</dependency>
2.新建测试类demo
package com.sun.demo;
import javax.swing.JFrame;
import org.bytedeco.javacv.CanvasFrame;
import org.bytedeco.javacv.FrameGrabber.Exception;
import org.bytedeco.javacv.OpenCVFrameGrabber;
public class demo1 {
public static void main(String[] args) throws Exception, InterruptedException{
//使用OpenCVFrameGrabber获取摄像头画面,0代表当前设备的序号,一般都是0
OpenCVFrameGrabber grabber = new OpenCVFrameGrabber(0);
//开始获取摄像头数据
grabber.start();
//new一个摄像头窗口
System.out.println("开始新建摄像头窗口");
String canasName = "摄像头窗口";
CanvasFrame canvas = new CanvasFrame(canasName);
/**
* DO_NOTHING_ON_CLOSE,(在你点击关闭按钮的时候,不会被关闭,)不执行任何操作。
*
* HIDE_ON_CLOSE,(当你点击关闭按钮的时候,不会释放内存,只是隐藏该界面,没有真正的关闭,还占有资源)只隐藏界面,setVisible(false)。
*
* EXIT_ON_CLOSE,直接关闭应用程序,System.exit(0)。一个main函数对应一整个程序。
*
* EXIT_ON_CLOSE,直接关闭应用程序,System.exit(0)。一个main函数对应一整个程序。
*/
System.out.println("窗口设置");
canvas.setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);
//判断窗口是否关闭
while(canvas.isDisplayable()){
//获取摄像头图像并在窗口中显示
canvas.showImage(grabber.grab());
}
//调用关闭按钮
System.out.println("调用了关闭摄像头按钮");
grabber.close();
}
}
3.验证结果
到这里就结束啦,这也是在学习过程中和大家分享一下,有不对的地方欢迎大家指正
以上内容仅供大家参考!