只是为了确定:您是否已经为 Processing 添加了视频库(它是名为“Video | GStreamer-based video library for Processing.”的库)?安装在此处理视频教程的第 1 步中进行了说明,其中包含更多有趣的信息和精彩的视频示例。既然你可以运行你的草图,这应该已经没问题了。
正如statox已经提到的,请确保相机正在为其他程序工作;可能有一些硬件或驱动程序问题。要列出 Processing 可以检测到的相机,您可以使用Capture 文档中的代码。这只是显示可用相机的部分;使用完整示例的链接:
import processing.video.*;
String[] cameras = Capture.list();
if (cameras.length == 0) {
println("There are no cameras available for capture.");
} else {
println("Available cameras:");
for (int cameraIndex = 0; cameraIndex < cameras.length; cameraIndex++) {
println(cameras[cameraIndex]);
}
}
在我的带有两个摄像头的系统上,输出如下所示:
Processing video library using GStreamer 1.16.2
Available cameras:
<Camera 1>
<Camera 2>
如果 Capture 文档中的代码对您不起作用,您可以尝试Neil C Smith 在 Processing 论坛上建议的替代方法(statox 已经提到):
import processing.video.*;
Capture camera;
void setup() {
size(640, 480);
// Suggestion from Neil C Smith on the Processing forum:
camera = new Capture(this, "pipeline:autovideosrc");
camera.start();
}
void draw() {
if (camera.available()) {
camera.read();
}
image(camera, 0, 0);
}