
[英]Convert a Int16Array to a ndarray using ndarrays.js nodejs
[英]How to convert an int16Array to image and display it in javascript?
我有一个 node.js WebSocket 服务器,它从 WebSocket 客户端接收二进制数据,该客户端从相机以 int16Array 形式发送不间断数据。 每个数组对应一个图像。 服务器接收到这些数据后,将这些传入数据发送到 JSP 中的另一个 WebSocket 客户端。 我想将 JSP 中的所有这些传入数据显示为实时视频。 问题是我无法理解如何将 Arrays 转换为图像。 这是 node.js 服务器的代码:
const WebSocket = require('ws');
const wss = new WebSocket.Server({ port: 4000 });
wss.on('connection', function connection(ws) {
console.log('A new client Connected!');
ws.binaryType = 'arraybuffer';
ws.on('message', function incoming(data) {
const array = new Int16Array(data);
wss.clients.forEach(function each(client) {
if (client.readyState === WebSocket.OPEN) {
client.send(data);
// console.log(array);
console.log(data);
}
});
});
});
arrays 为 36x36。 我见过一些从二进制转换的例子,例如:
function convertFromBinary(buffer) {
var bytes = new Uint16Array(buffer);
var canvas = document.getElementById("newImage");
var context = canvas.getContext("2d");
var image = context.createImageData(canvas.width, canvas.height);
for (var i=0; i<bytes.length; i++) {
image.data[i] = bytes[i];
}
//Add the new image to the newImage canvas.
context.putImageData(image,0,0);
}
有没有办法解决这个问题? 谢谢你的帮助!
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.