processing - p5.js 从 createCapture() 提要中提取图像
问题描述
我试图关注关于图像处理的 Coding Train p5 视频,但我无法显示图像(仅视频源绘制)。我可以在没有循环的情况下正确显示图像,但是当我将其放入循环时,捕获的图像不会显示。
网络摄像头视频源适用于这两种情况。
let video;
let pics = [];
var button;
var idx = 0;
function setup() {
createCanvas(160,120);
background(255);
video = createCapture(VIDEO);
video.size(160,120);
button = createButton('shoot pic');
button.mousePressed(shoot);
}
function shoot() {
let img = video.get(0,0,160,120);
pics.push(img);
}
function draw() {
for(var i = 0; i < pics.length; i++) {
image(pics[i], 0, 0);
}
}
解决方案
我已将您的代码更新到此工作示例中;https://editor.p5js.org/EthanHermsey/sketches/yjqWDF5FA
主要问题是这条线:
video.size( 160, 120 );
此行导致视频元素未设置其就绪状态,并且 .get() 函数不起作用。您应该在约束对象中定义宽度/高度,如下所示。此处指定:https ://p5js.org/reference/#/p5/createCapture
let constraints = {
video: {
mandatory: {
maxWidth: videoWidth,
maxHeight: videoHeight
}
},
audio: false
};
video = createCapture( constraints );
推荐阅读
- r - 如何增加 Rstudio 中的内存限制?
- javascript - 在正文标记末尾呈现阻止 Javascript - 内联与外部脚本
- pyspark - 无法在 Databricks 中使用 pyspark 读取 json 文件
- powershell - PowerShell 分组和排序在同一个表中
- python-3.x - 使用 pyspark aws 胶水时显示 DataFrame
- jquery - 修改列表框集合导致语法错误
- python - 如何使用 wxPython 在 python 中切换面板
- angular - API 请求 GET 延迟
- c - C语言中的下标值既不是数组也不是指针也不是向量
- c++ - 折叠表达式有空扩展