Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/436.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/36.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/sql-server-2008/3.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 节点JS |谷歌视觉API |和#xA0&引用;“坏图像数据”;将base64发送到Google Cloud Vision时_Javascript_Node.js_Google Cloud Ml_Google Cloud Vision - Fatal编程技术网

Javascript 节点JS |谷歌视觉API |和#xA0&引用;“坏图像数据”;将base64发送到Google Cloud Vision时

Javascript 节点JS |谷歌视觉API |和#xA0&引用;“坏图像数据”;将base64发送到Google Cloud Vision时,javascript,node.js,google-cloud-ml,google-cloud-vision,Javascript,Node.js,Google Cloud Ml,Google Cloud Vision,我正在试验谷歌云视觉API,并试图从图像中提取颜色。 当我试图向Vision API发送一个裁剪过的图像,但收到“坏图像数据”错误消息时,就会出现问题 我发送给Vision API的Base64表示获取错误正在工作 当我将其发送到客户端并创建图像或画布时 通过请求发送到服务器的普通URL (req.headers.imageurl)在发送到Vision API时工作 从服务器上从base64创建的映像在下载并上载到以下位置的“测试api”时完全可用: 它可能有交叉源问题吗?但我不明白为

我正在试验谷歌云视觉API,并试图从图像中提取颜色。 当我试图向Vision API发送一个裁剪过的图像,但收到“坏图像数据”错误消息时,就会出现问题

  • 我发送给Vision API的Base64表示获取错误正在工作 当我将其发送到客户端并创建图像或画布时

  • 通过请求发送到服务器的普通URL (req.headers.imageurl)在发送到Vision API时工作

  • 从服务器上从base64创建的映像在下载并上载到以下位置的“测试api”时完全可用:

它可能有交叉源问题吗?但我不明白为什么我不能在稍后发送给客户机时将其绘制到画布上

提前感谢您的帮助

从裁剪图像中请求和发送Vision API请求的功能

//导入Google云客户端库
const vision=require(“@google cloud/vision”);
const client=new vision.ImageAnnotatorClient();
常量fetch=require(“../functions/fetch”);
const imageEdit=require(“../functions/imageEdit”);
exports.colorDetection=async(请求、回复)=>{
//然后你“得到”你的形象,就像这样:
等待fetch.getImage(req.headers.imageurl,异步函数(err,data){
//如果获取图像时出错,请处理该错误。
如果(错误){
抛出新错误(err);
}
//作物图像
const cropSettings=JSON.parse(req.headers.cropSettings);
const cropedimage=wait imageEdit.CropImage(数据、cropSettings);
const stringify=JSON.stringify(cropeImage);
常量请求={
图片:{
内容:Buffer.from(cropeImage).toString(“base64”),
},
};
////对图像文件执行标签检测
const[result]=wait client.imageProperties(请求);
console.log(结果)
const colors=result.imageproperties注释;
//const stringify=JSON.stringify(颜色);
wait res.json(stringify);
});
};
裁剪图像功能

const{createCanvas,Image}=require(“canvas”);
exports.CropImage=(数据、cropSettings)=>{
“用户严格”;
//背景
设cropLeft=cropSettings.startX,
cropTop=cropSettings.startY,
cropWidth=cropSettings.width,
cropHeight=cropSettings.height;
//帆布
让resize_canvas=createCanvas(cropWidth/2,cropHeight/2);
//形象
让crop_img=新图像();
crop_img.src=`data:image/png;base64,${data.toString(“base64”)}`;
功能作物(){
const ctx=resize_canvas.getContext(“2d”);
ctx.drawImage(
作物种植,
克罗普夫特,
克罗普托普,
cropWidth*2,
克罗菲特*2,
0,
0,
cropWidth,
克罗菲特
);
}
如果(裁剪图像和裁剪图像完成){
作物();
试一试{
const base64Img=resize_canvas.toDataURL(“image/png”,1.0);
返回基64img
}捕获(e){
控制台日志(e);
}
}否则{
crop_img.onload=函数(){
作物();
试一试{
const base64Img=resize_canvas.toDataURL(“image/png”,1.0);
返回基64img
}捕获(e){
控制台日志(e);
}
};
}
};

对此有何解决方案?谢谢对此有任何决议吗?谢谢