Java调起手机电脑摄像头
一、直接上代码
要导入的maven
<!-- java调用摄像头 --><!-- https://mvnrepository.com/artifact/org.bytedeco/javacv-platform --><dependency><groupId>org.bytedeco</groupId><artifactId>javacv-platform</artifactId><version>1.4.1</version></dependency><!-- https://mvnrepository.com/artifact/org.bytedeco.javacpp-presets/opencv-platform --><dependency><groupId>org.bytedeco.javacpp-presets</groupId><artifactId>opencv-platform</artifactId><version>3.4.1-1.4.1</version></dependency><dependency><groupId>junit</groupId><artifactId>junit</artifactId><version>4.12</version><scope>test</scope></dependency>
@Testpublic void testCamera() throws InterruptedException, FrameGrabber.Exception {OpenCVFrameGrabber grabber = new OpenCVFrameGrabber(0);grabber.start(); //开始获取摄像头数据CanvasFrame canvas = new CanvasFrame("摄像头");//新建一个窗口canvas.setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);canvas.setAlwaysOnTop(true);while (true) {if (!canvas.isDisplayable()) {//窗口是否关闭grabber.stop();//停止抓取System.exit(-1);//退出}Frame frame = grabber.grab();canvas.showImage(frame);//获取摄像头图像并放到窗口上显示, 这里的Frame frame=grabber.grab(); frame是一帧视频图像Thread.sleep(50);//50毫秒刷新一次图像}}@Testpublic void testCamera1() throws FrameGrabber.Exception, InterruptedException {VideoInputFrameGrabber grabber = VideoInputFrameGrabber.createDefault(0);grabber.start();CanvasFrame canvasFrame = new CanvasFrame("摄像头");canvasFrame.setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);canvasFrame.setAlwaysOnTop(true);while (true) {if (!canvasFrame.isDisplayable()) {grabber.stop();System.exit(-1);}Frame frame = grabber.grab();canvasFrame.showImage(frame);Thread.sleep(30);}}
本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!
