Google Cloud Vision API:“错误代码:3”,“消息”:“错误的图像数据”。

时间:2018-08-07 21:47:38

标签: json base64 google-cloud-vision curlpp

我正在尝试通过POST HTTP请求来检测图像中从文本转换为base64的文本。运行代码时,我得到

{
   "responses":[
      {
         "error":{
            "code":3,
            "message":"Bad image data."
         }
      }
   ]
}

我的curl POST字段是这样的JSON字符串:

{
   "requests":[
      {
         "image":{
            "content":"lZ+elp+elp+elp+elZ+elZ6dlZ6dlZ6dlJ6dlJ2ck52ck52ck52ck52ck52bk5ybkpyakpyakpyakZuZkJqYj5m...........srW0srWzsrWzsrWzsrWz"
         },
         "features":[
            {
               "type":"TEXT_DETECTION"
            }
         ]
      }
   ]
}

我不确定base64编码的图像是否有效。请帮忙!

1 个答案:

答案 0 :(得分:0)

我已经找到了通过将Mat对象转换为向量然后进行编码的解决方案。

std::vector<uchar> array;
cv::imencode(".png",mat_img, array);


std::string encoded = Base64::encode(array);