Google Cloud Vision API 'Request Admission Den

2019-06-21 20:10发布

I am new to Google Cloud Vision API. I am doing OCR on images primarily for bills and receipts.

For a few images it is working fine, but when I try some other images it gives me this error:

Error:  { [Error: Request Admission Denied.]
  code: 400,
  errors:
   [ { message: 'Request Admission Denied.',
       domain: 'global',
       reason: 'badRequest' } ] }

This is my code:

// construct parameters
const req = new vision.Request({
image: new vision.Image('./uploads/reciept.png'),
features: [
new vision.Feature('TEXT_DETECTION', 1)
]
})

vision.annotate(req).then((res) => {
// handling response
//console.log(res.responses[0].textAnnotations);
var desc=res.responses[0].textAnnotations;
var descarr=[];
for (i = 0; i < desc.length; i++) { 
descarr.push(desc[i].description);
}

4条回答
欢心
2楼-- · 2019-06-21 20:47

Ran into this problem as well. It was an image size issue. I don't know what the hard limit is. 4MB worked, but 9MB didn't, it's somewhere in between there.

查看更多
Deceive 欺骗
3楼-- · 2019-06-21 20:54

Interesting. I ran into the same problem today, using Google's Java client. The way I read James' answer, he had a JPEG file that failed, but worked as a PNG file. In my case, I had a PNG file that failed, but worked as a JPEG.

I had concluded it was a size limitation, as I'd expect JPEGs to be typically smaller than PNGs; however, James' experience suggests otherwise.

I couldn't find any relevant documentation in Google's Javadocs. Since the response is a 400 error, perhaps the Java library is not encoding the image buffer correctly.

查看更多
Viruses.
4楼-- · 2019-06-21 20:56

I was able to work around this by saving the image as another format and submitting that instead; there was something "wrong" (or at least, unexpected by Google) with the image file itself. Not sure about image manipulation in the language you're using (js?), but in Python it was as simple as:

from PIL import Image
bad_image = Image.open(open('failure.jpg', 'rb'))
bad_image.save(open('success.png', 'wb'))
查看更多
Juvenile、少年°
5楼-- · 2019-06-21 21:09

The Best Practices doc says that the image file size should not exceed 4 MB. Based on this responses above, this could be the problem.

查看更多
登录 后发表回答