Google云视觉API:"error code: 3","message":"Bad image data."

Google Cloud Vision API : "error code: 3" , "message": "Bad image data."

我正在尝试 POST HTTP 请求以检测从 mat 图像转换为 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编码的图片是否有效。请帮忙!

我找到了一个解决方案,将 Mat 对象转换为向量,然后进行编码。

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


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