所以我使用这个代码创建了一个可执行的JAR,一切都在我的机器上工作正常但是我在其他一些计算机上测试它并且网络摄像头捕获永远不会启动。指示灯不亮。这是我在大多数教程中看到的用于进行图像捕获的示例,我正在进行人脸识别,因此最简单的方法是使用javaCV函数而不是添加另一个库。所有建议都表示赞赏,谢谢。
CanvasFrame canvas = new CanvasFrame("Webcam");
//Set Canvas frame to close on exit
canvas.setDefaultCloseOperation(javax.swing.JFrame.EXIT_ON_CLOSE);
try {
//Start grabber to capture video
grabber.start();
//Declare img as IplImage
IplImage img;
long starttime = System.currentTimeMillis();
while (temptime < 4000) {
//inser grabed video fram to IplImage img
img = grabber.grab();
//Set canvas size as per dimentions of video frame.
canvas.setCanvasSize(grabber.getImageWidth(), grabber.getImageHeight());
if (img != null) {
//Flip image horizontally
cvFlip(img, img, 1);
//Draw text over the canvas
Graphics g = canvas.createGraphics();
g.setFont(camfont);
g.setColor(Color.red);
//Show video frame in canvas
canvas.showImage(img);
if (temptime > 2000 && tempcount == 1) {
//take and save the picture
cvSaveImage("User-cap.jpg", img);
tempcount++;
}
temptime = System.currentTimeMillis() - starttime;
}
}
} catch (Exception e) {
}
try {
grabber.stop();
canvas.dispose();
} catch (Exception e) {
System.out.println("Grabber couldn't close.");
}
答案 0 :(得分:0)
你需要在运行该程序的机器上安装OpenCV,jar只包含javacv包装器,但不包含opencv的dll