我正在使用JavaCV。我的程序需要制作网络摄像头照片并将其保存到桌面上的文件夹中 这是文件夹的路径:
public static String webcamPath = System.getProperty("user.home") + "/Desktop/folder/webcam.png"
这就是我保存图片的方式:
FrameGrabber grabber = new VideoInputFrameGrabber(0);
try {
grabber.start();
Thread.sleep(1000);
while (true) {
IplImage img = grabber.grab();
if (img != null) {
cvSaveImage(webcamPath, img);
grabber.stop();
}
}
} catch (Exception e) {
e.printStackTrace();
}
但是当网络摄像头开始工作时,它无法保存图像并且我得到了这个例外:
com.googlecode.javacv.FrameGrabber$Exception: videoInput is null. (Has start() been called?)
那么有没有办法将IplImage保存到桌面上的文件夹中?
感谢。
答案 0 :(得分:0)
在您的代码中,这是流程:
我的猜测是将开放放在循环中:
FrameGrabber grabber = new VideoInputFrameGrabber(0);
try {
while (true) {
grabber.start();
Thread.sleep(1000);
IplImage img = grabber.grab();
if (img != null) {
cvSaveImage(webcamPath, img);
grabber.stop();
}
}
} catch (Exception e) {
e.printStackTrace();
}
答案 1 :(得分:0)
通过添加以下内容将文件保存到特定目录:
cvSaveImage(<path>\\<imagename>, img);