Azure-Samples / Azure-Samples/cognitive-services-REST-api-samples

Sending Batch request to azure cognitive API for TEXT-OCR

Đang mở
#32 2 bình luận 0 reaction 0 người được giao Xem trên GitHub
Ngôn ngữ chính
HTML
Star
241
Fork
278
Chỉ số merge pull request
Không có pull request nào được merge trong 30 ngày

Mô tả

I am calling azure cognitive API for OCR text-recognization and I am passing 10-images at the same time simultaneously **(as the code below only accepts one image at a time-- that is 10-independent requests in parallel)** which is not efficient to me, from processing point of view, as I need to use extra modules i.e: Celery and multiprocessing.

So, is there a way to send all the 10-images in a single request and get the output at once then do post processing?
```
import time
from io import BytesIO

import cv2
import requests
from PIL import Image as PILImage
from PIL import Image
file_list = []

headers = {
"Ocp-Apim-Subscription-Key": "",
'Content-Type': 'application/octet-stream'}

p = "symbol_sample.jpg"
print(p,"p")

def recognise_text(p):
p = cv2.imread(p)
cropped_image = PILImage.fromarray(p)
buffer = BytesIO()
cropped_image.save(buffer, format="JPEG")
image_bytes = buffer.getvalue()
try:
response = requests.post(
"https://centralindia.api.cognitive.microsoft.com/vision/v2.0/recognizeText?mode=Printed",
headers=headers,
data=image_bytes
)
header_link = str(response.headers['Operation-Location'])
while (True):
headers_get = {
"Ocp-Apim-Subscription-Key": """,
'Content-Type': 'application/json'
}
result = requests.get(
url=header_link,
headers=headers_get
)
response_r = result.json()
if response_r["status"] == "Succeeded":
return response_r
else:
time.sleep(4)
except Exception as e:
print(e)
return ""

image1="symbol_sample.jpg"
o = recognise_text(image1)
print(o)
```

Any help would be really appreciated.

Hướng dẫn đóng góp

Mở hướng dẫn đóng góp

Đánh giá

Issue này chưa được đánh giá.

Nhận issue mới trong hộp thư của bạn

Bản tóm tắt ngắn những issue GitHub phù hợp với người mới.