我尝试从图像接收所有像素信息(RGB 数据)。 现在我通过使用react-native-canvas、绘制图像并使用getImageData()来接收RGB值来让它工作。
但是这种方式需要大约 1 分钟才能从 512x512px JPEG 中获取数据。
有没有更有效的方法来做到这一点?
我正在使用世博会管理的工作流程,但如果有必要完成此任务,我会退出世博会。
问候。
我在搜索 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;
};