我正在制作一个有趣的开源示例,用于使用 Raspberry Pi 作为我的硬件进行边缘计算计算机视觉。
我必须访问硬件的当前 SDK 是基于 nodejs 的(我将在 python 可用时发布第二个)。警告:我是节点新手。
我面临的问题是我想在不保存文件的情况下循环使用库存相机拍照。我只想访问缓冲区,提取像素,传递给我的第二个边缘模块。
在 while(true) 循环中拍摄没有文件保存的照片似乎永远不会执行。
这是我的示例:
'use strict';
var sleep = require('sleep');
const Raspistill = require('node-raspistill').Raspistill;
var pixel_getter = require('pixel-getter');
while(true) {
const camera = new Raspistill({ verticalFlip: true,
horizontalFlip: true,
width: 500,
height: 500,
encoding: 'jpg',
noFileSave: true,
time: 1 });
camera.takePhoto().then((photo) => {
console.log('got photo');
pixel_getter.get(photo,
function(err, pixels) {
console.log('got pixels');
console.log(String(pixels));
});
});
sleep.sleep(5);
}
console.log('picture taken');
在上面的代码中,console.log 函数实际上都没有记录;让我相信照片永远不会被拍摄,因此无法提取像素。
任何帮助将不胜感激。
更新:看起来循环机制可能很有趣。我想我真的不在乎它是否在循环中拍照,只要它拍照,我就把它传出去,我拍照然后把它传出去,不确定地。