高效地原生反应获取图像的所有像素

问题描述 投票:0回答:1

我尝试从图像接收所有像素信息(RGB 数据)。 现在我通过使用react-native-canvas、绘制图像并使用getImageData()来接收RGB值来让它工作。

但是这种方式需要大约 1 分钟才能从 512x512px JPEG 中获取数据。

有没有更有效的方法来做到这一点?

我正在使用世博会管理的工作流程,但如果有必要完成此任务,我会退出世博会。

问候。

react-native canvas mobile expo getimagedata
1个回答
0
投票

我在搜索 TensorFlow 输入时发现了一个可以从 JPEG 图像中提取颜色数据的库。你可以看看Jpeg-js

const prepareInput = async (path: string) => {
  const base64 = await RNFS.readFile(path, 'base64');
  const imageData = new Uint8Array(decode(base64));
  const rawImg = jpeg.decode(imageData, {useTArray: true, formatAsRGBA: false});
  const rawImgData = rawImg.data;
  const float32Array = new Float32Array(rawImg.width * rawImg.height * 3);
  for (let i = 0; i < rawImgData.length; i++) {
    float32Array[i] = rawImgData[i] / 255;
  }
  return float32Array;
};
© www.soinside.com 2019 - 2024. All rights reserved.