我对Google Cloud Vision API还比较新,如果有明显的答案,请见谅。我注意到在某些图片上,使用Google Cloud Vision API拖放功能(https://cloud.google.com/vision/docs/drag-and-drop)和Python本地图像检测之间会得到不同的OCR结果。
我的代码如下:
我的代码如下:
import io
# Imports the Google Cloud client library
from google.cloud import vision
from google.cloud.vision import types
# Instantiates a client
client = vision.ImageAnnotatorClient()
# The name of the image file to annotate
file_name = "./test0004a.jpg"
# Loads the image into memory
with io.open(file_name, 'rb') as image_file:
content = image_file.read()
image = types.Image(content=content)
response = client.text_detection(image=image)
texts = response.text_annotations
print('Texts:')
for text in texts:
# print('\n"{}"'.format(text.description.encode('utf-8')))
print('\n"{}"'.format(text.description.encode('ascii','ignore')))
vertices = (['({},{})'.format(vertex.x, vertex.y)
for vertex in text.bounding_poly.vertices])
print('bounds: {}'.format(','.join(vertices)))
附有突出显示的示例图像 示例图像。
上面的Python代码不返回任何内容,但在浏览器中使用拖放功能时,它可以正确识别“2340”作为文本。Python和浏览器不应该返回相同的结果吗?如果不是,为什么?我需要在代码中包含其他参数吗?
DOCUMENT_TEXT_DETECTION
更适合处理密集文本和文档,但实际上没有其他指标可以让您决定使用哪种方法。 - dsesto