再写单目事件时,首先必须得配置好opencv,在官网opencv.org/releases进行下载,初始下载可能非常慢,需要一定的耐心。配制好之后,就可以输入下面的代码:
package First;
import org.opencv.core.Core;
import org.opencv.core.Mat;
import org.opencv.core.MatOfByte;
import org.opencv.imgcodecs.Imgcodecs;
import org.opencv.videoio.VideoCapture;
import javax.swing.*;
import java.awt.*;
import java.awt.image.BufferedImage;
public class SingleCamera {
static {
System.loadLibrary(Core.NATIVE_LIBRARY_NAME);
}
public static void main(String[] args) {
Mat matrix = new Mat();
VideoCapture camera = new VideoCapture(0);
JFrame jFrame = new JFrame("Video");
jFrame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
JLabel videoLabel = new JLabel();
videoLabel.setPreferredSize(new Dimension(640, 480));
jFrame.setContentPane(videoLabel);
jFrame.pack();
jFrame.setVisible(true);
while (true) {
if (camera.read(matrix)) {
MatOfByte buffer = new MatOfByte();
Imgcodecs.imencode(".jpg", matrix, buffer);
byte[] imageBytes = buffer.toArray();
ImageIcon icon = new ImageIcon(imageBytes);
BufferedImage bufferedImage = new BufferedImage(icon.getIconWidth(), icon.getIconHeight(), BufferedImage.TYPE_INT_RGB);
Graphics graphics = bufferedImage.createGraphics();
graphics.drawImage(icon.getImage(), 0, 0, null);
videoLabel.setIcon(icon);
}
}
}
}
最后这个代码就会打开你的摄像头啦