Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/react-native/7.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 调整大小并更改为灰度_Javascript_React Native_Tensorflow_Keras_Tensorflow.js - Fatal编程技术网

Javascript 调整大小并更改为灰度

Javascript 调整大小并更改为灰度,javascript,react-native,tensorflow,keras,tensorflow.js,Javascript,React Native,Tensorflow,Keras,Tensorflow.js,我正在尝试拍摄一张jpg照片,并将其灰度化,并将其调整为48x48,以适合我的模型, 我试过这个,但不起作用: let image = require("../assets/angry.jpg"); const imageAssetPath = Image.resolveAssetSource(image); const response = await fetch(imageAssetPath.uri, {}, { isBinary: true })

我正在尝试拍摄一张jpg照片,并将其灰度化,并将其调整为48x48,以适合我的模型, 我试过这个,但不起作用:

let image = require("../assets/angry.jpg");
      const imageAssetPath = Image.resolveAssetSource(image);
      const response = await fetch(imageAssetPath.uri, {}, { isBinary: true });
      const imageData = await response.arrayBuffer();
      let imageTensor = imageToTensor(imageData);
      const imageResize = tf.image.resizeBilinear(imageTensor, [48, 48], true);



  const imageToTensor = (rawData: ArrayBuffer) => {
    const { width, height, data } = jpeg.decode(rawData, true);
    const buffer = new Uint8Array(width * height * 3);
    let offset = 0;
    for (let i = 0; i < buffer.length; i += 3) {
      buffer[i] = data[offset]; //red
      buffer[i + 1] = data[offset + 1]; //green
      buffer[i + 2] = data[offset + 2]; //blue
      offset += 4; //skips Alpha value
    }
    return tf.tensor4d(buffer, [1, height, width, 3]);
  };
let image=require(“../assets/angry.jpg”);
常量imageAssetPath=Image.resolveAssetSource(图像);
const response=await fetch(imageAssetPath.uri,{},{isBinary:true});
const imageData=wait response.arrayBuffer();
设imageTensor=ImageToSensor(imageData);
常量imageResize=tf.image.resize线性(imageTensor[48,48],true);
常量ImageToSensor=(原始数据:ArrayBuffer)=>{
const{width,height,data}=jpeg.decode(rawData,true);
常量缓冲区=新的UINT8阵列(宽度*高度*3);
设偏移量=0;
for(设i=0;i

图像的大小正在调整为48x48,但如何使其成为灰度?我尝试使用ImageToSensor函数将数组更改为[height,width,1],但这只会弄乱图片,有什么建议吗?

我不知道缺少这么多方法! 您可以在中查看
rgb_to_灰度的来源
你们会看到,他们是如何将rgb图像转换成灰度的

我试图用javascript实现它,但没有名为
tf.tensordot
的函数

这是你可以做到的

image = tf.ones([224, 224, 3])
rgb_weights = [0.2989, 0.5870, 0.1140]
image = tf.mul(image, rgb_weights)
image = tf.sum(image, axis=-1)
image = tf.expandDims(image, axis=-1)

我不知道有这么多的方法失踪! 您可以在中查看
rgb_to_灰度的来源
你们会看到,他们是如何将rgb图像转换成灰度的

我试图用javascript实现它,但没有名为
tf.tensordot
的函数

这是你可以做到的

image = tf.ones([224, 224, 3])
rgb_weights = [0.2989, 0.5870, 0.1140]
image = tf.mul(image, rgb_weights)
image = tf.sum(image, axis=-1)
image = tf.expandDims(image, axis=-1)

谢谢你的回答,但我需要javascript而不是python@AlexK我完全改变了答案。看看,嗨!谢谢你的回答!!但是axis=-1不是一个有效的语法,它是‘axis=1’还是什么?找到了它,而不是axis=-1它只是-1,谢谢!!谢谢你的回答,但我需要javascript而不是python@AlexK我完全改变了答案。看看,嗨!谢谢你的回答!!但是axis=-1不是一个有效的语法,它是‘axis=1’还是什么?找到了它,而不是axis=-1它只是-1,谢谢!!这回答了你的问题吗?这回答了你的问题吗?