2016-06-13 29 views
5

Google Cloud Vision API'sinde yeniyim. Öncelikle fatura ve makbuzlar için görüntülerde OCR yapıyorum. Birkaç görüntüler içinGoogle Cloud Vision API 'İstek Kabul Reddedildi'

o iyi çalışıyor, ancak diğer bazı görüntülerin çalıştığınızda bana bu hata veriyor:

// 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); 
} 
+0

OCRing belirli görüntüleri olduğunda bu hatayı alıyor musunuz? Sorunun resim belirtimi veya API ile ilgili olup olmadığını görmek için OCR'yi aynı görüntüye birkaç kez devam ettirebilir misiniz? – Kamran

cevap

6

Bu soruna da girdik. Görüntü boyutu sorunuydu. Zor sınırın ne olduğunu bilmiyorum. 4MB çalıştı, ancak 9MB yoktu, orası arasında bir yerde.

+1

https://cloud.google.com/vision/docs/image-best-practices#file_sizes adresine göre max dosya boyutu 4 MB, maksimum istek boyutu 8MB – Sock

+1

Yep, bu benim için sabitlendi (görüntüyü yeniden boyutlandırma) . Daha bilgilendirici bir hata mesajı eklediklerinde iyi olurdu. –

1

işe başardı: Bu benim kodudur

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

Bu görüntüyü başka bir format olarak kaydedip yerine göndererek; görüntü dosyasının kendisi ile "yanlış" bir şey (veya en azından Google tarafından beklenmedik bir şey) vardı. Eğer (? js) kullandığınız dilde görüntü manipülasyonu hakkında emin, ancak Python o kadar basit değildi:

from PIL import Image 
bad_image = Image.open(open('failure.jpg', 'rb')) 
bad_image.save(open('success.png', 'wb')) 
+0

JS kullanıyorum. İşiniz aynı zamanda ham metinden bilgi çıkarmayı da içeriyor mu? –

+0

Daha geniş bir şekilde yapmaya çalıştığım şey bu olsa da, bu hatayla karşılaşan belirli bir görüntü ile alakalı olduğunu düşünmüyorum. Bu hatayla karşılaşan görüntü hakkında görsel olarak benzersiz olan hiçbir şey başarılı olan resimlerle karşılaştırılmamıştı. – James

0

İlginç. Google’ın Java istemcisini kullanarak bugün aynı soruna girdim. James'in cevabını okuduğumda, başarısız bir JPEG dosyası vardı, ancak bir PNG dosyası olarak çalıştı. Benim durumumda, başarısız bir PNG dosyası vardı, ancak bir JPEG olarak çalıştı.

JPEG'lerin tipik olarak PNG'lerden daha küçük olmasını beklediğimden, boyut sınırlaması olduğu sonucuna varmıştım; Ancak, James'in deneyimi aksini gösteriyor.

Google'ın Javadocs'ında hiçbir ilgili doküman bulamadım. Yanıt 400 hata olduğundan, belki de Java kütüphanesi görüntü arabelleğini doğru şekilde kodlamıyordur.

1

Best Practices doc, görüntü dosyası boyutunun 4 MB'yi aşmaması gerektiğini söylüyor. Yukarıdaki bu yanıtlara dayanarak, bu sorun olabilir.

İlgili konular