尊敬的微信团队,求教一个问题,新手,实在搞不懂。
cameraContext.onCameraFrame((frame) =>
{
let uint8Array=new Uint8ClampedArray(frame.data);
for(var h=0;h<height;h++)
{
for(var w=0;w<width;w++)
{
var pixelIndex=((h*width)+w)*4;//rgba;
var pixelRed=uint8Array[pixelIndex];
var pixelGreen=uint8Array[pixelIndex+1];
var pixelBlue=uint8Array[pixelIndex+2];
}
}
}
问题:
上代码获取pixelRed和pixelGreen和pixelBlue都为零?想获取pixelBlue的值0~255,如何实现,谢谢了。
麻烦回复,恳教大家帮帮忙,就是要从frame.data获取每个像素点的r g b值。麻烦了。
h和w怎么可能从0开始获取啊?你第一行的数据高和宽度应该都是1啊
求帮忙,多谢了。
// onCameraFrame 回调以下 (参数为 frame)--------- var buffer = frame.data; var dataview = new DataView(buffer); let i = 0; // 第 i+1 个 点的rgba 中的 r色值 var r = dataview.getInt8(i*4) var g = dataview.getInt8(i*4+1) var b = dataview.getInt8(i*4+2)