zoukankan      html  css  js  c++  java
  • java 调用摄像头拍照

    <dependency>
    <groupId>com.github.sarxos</groupId>
    <artifactId>webcam-capture</artifactId>
    <version>0.3.12</version>
    </dependency>

    <!-- https://mvnrepository.com/artifact/io.humble/humble-video-all -->
    <dependency>
    <groupId>io.humble</groupId>
    <artifactId>humble-video-all</artifactId>
    <version>0.3.0</version>
    </dependency>
    package com.sys.springbootcaputre;

    import com.github.sarxos.webcam.Webcam;
    import com.github.sarxos.webcam.WebcamPanel;
    import com.github.sarxos.webcam.WebcamResolution;
    import lombok.extern.slf4j.Slf4j;

    import javax.imageio.ImageIO;
    import javax.swing.*;
    import java.awt.*;
    import java.awt.event.ActionEvent;
    import java.awt.event.ActionListener;
    import java.awt.image.BufferedImage;
    import java.io.File;
    import java.io.IOException;
    import java.nio.charset.Charset;

    /**
    * @ClassName test
    * @Author sys
    * @Date 2020/11/4 16:49
    * @Description //TODO
    * @Version
    **/
    @Slf4j
    public class test {
    public static void main(String[] args) {
    Webcam webcam = Webcam.getDefault();

    webcam.setViewSize(WebcamResolution.VGA.getSize());

    WebcamPanel panel = new WebcamPanel(webcam);

    panel.setFPSDisplayed(true);

    panel.setDisplayDebugInfo(true);

    panel.setImageSizeDisplayed(true);

    panel.setMirrored(true);

    JFrame window = new JFrame("Test webcam panel");
    JButton b = new JButton(new String("拍照".getBytes(), Charset.defaultCharset()));
    b.setPreferredSize(new Dimension(50,30));
    b.addActionListener(new ActionListener() {
    @Override
    public void actionPerformed(ActionEvent e) {
    Webcam webcamc = Webcam.getDefault();
    webcamc.open();
    BufferedImage image = webcamc.getImage();
    // save image to PNG file
    try {
    ImageIO.write(image, "PNG", new File("e:/cap/testbut.png"));
    } catch (IOException ex) {
    log.info("拍照失败");
    ex.printStackTrace();
    }
    log.info("拍照成功");
    }
    });
    panel.add(b);
    window.add(panel);

    window.setResizable(true);

    window.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

    window.pack();
    //webcam.open();
    window.setVisible(true);
    // Thread t = new Thread(() -> {
    // Webcam webcamc = Webcam.getDefault();
    // webcamc.open();
    // try {
    // // get image //保存图片
    // for(int i=0;i<600;i++) {
    // BufferedImage image = webcamc.getImage();
    // // save image to PNG file
    // ImageIO.write(image, "PNG", new File("e:/cap/test"+i+".png"));
    // Thread.sleep(1000);//1s
    // }
    // } catch (Exception e) {
    // e.printStackTrace();
    // }
    //
    // });
    // t.start();

    }
    }

    https://github.com/sarxos/webcam-capture

  • 相关阅读:
    linux基础命令:alias
    linux基础命令:find
    Linux下which、whereis、locate命令的区别
    逆元知识普及(进阶篇) ——from Judge
    BZOJ 3620: 似乎在梦中见过的样子
    HDU contest808 ACM多校第7场 Problem
    P3203 [HNOI2010]弹飞绵羊 —— 懒标记?分块?LCT?...FAQ orz
    可持久化数组(线段树)[模板题]
    可持久化并(xian)查(duan)集(shu)
    主席树(静态)的轻松入门
  • 原文地址:https://www.cnblogs.com/syscn/p/13927403.html
Copyright © 2011-2022 走看看