我正在尝试使用Google Cloud Vision API中现在支持的PDF/TIFF文档文本检测.使用他们的示例代码,我能够提交PDF并接收带有提取文本的JSON对象.我的问题是保存到GCS的JSON文件只包含"符号"的边界框和文本,即每个单词中的每个字符.这使得JSON对象非常难以使用并且非常难以使用.我希望能够获得"LINES","PARAGRAPHS"和"BLOCKS"的文本和边界框,但我似乎无法通过该AsyncAnnotateFileRequest()方法找到方法.
示例代码如下:
def async_detect_document(gcs_source_uri, gcs_destination_uri):
"""OCR with PDF/TIFF as source files on GCS"""
# Supported mime_types are: 'application/pdf' and 'image/tiff'
mime_type = 'application/pdf'
# How many pages should be grouped into each json output file.
batch_size = 2
client = vision.ImageAnnotatorClient()
feature = vision.types.Feature(
type=vision.enums.Feature.Type.DOCUMENT_TEXT_DETECTION)
gcs_source = vision.types.GcsSource(uri=gcs_source_uri)
input_config = vision.types.InputConfig(
gcs_source=gcs_source, mime_type=mime_type)
gcs_destination = vision.types.GcsDestination(uri=gcs_destination_uri)
output_config = vision.types.OutputConfig(
gcs_destination=gcs_destination, batch_size=batch_size)
async_request = vision.types.AsyncAnnotateFileRequest(
features=[feature], input_config=input_config,
output_config=output_config)
operation = client.async_batch_annotate_files(
requests=[async_request])
print('Waiting for the operation …Run Code Online (Sandbox Code Playgroud) 我一直在测试Google的Vision API,以便为不同的图像添加标签.
对于给定的图像,我会得到这样的东西:
"google_labels": {
"responses": [{
"labelAnnotations": [{
"score": 0.8966763,
"description": "food",
"mid": "/m/02wbm"
}, {
"score": 0.80512983,
"description": "produce",
"mid": "/m/036qh8"
}, {
"score": 0.73635191,
"description": "juice",
"mid": "/m/01z1kdw"
}, {
"score": 0.69849229,
"description": "meal",
"mid": "/m/0krfg"
}, {
"score": 0.53875387,
"description": "fruit",
"mid": "/m/02xwb"
}]
}]
}
Run Code Online (Sandbox Code Playgroud)
- >我的问题是:
['produce', 'meal', ...])以及我在哪里可以找到它?我猜是'不'和'不'因为我找不到任何东西,但是,也许不是.谢谢!
我一直在尝试使用Python实现一个OCR程序,该程序读取具有特定格式的数字,XXX-XXX.我使用了Google的Cloud Vision API文本识别功能,但结果并不可靠.在30个高对比度1280 x 1024 bmp图像中,只有少数产生正确的输出,或者至少在结果中包含正确的输出.该程序倾向于省略一些数字,以非英语语言输出或隐藏一些特殊字符.
目标是至少连续输出正确的数字,如果结果与其他垃圾混在一起无关紧要.有没有办法帮助程序更好地识别数字,例如将结果限制为特定格式,或仅限于数字?
python ocr text-recognition google-cloud-platform google-cloud-vision
我有一个项目,它使用Google Vision API DOCUMENT_TEXT_DETECTION来从文档图像中提取文本.
通常,API在识别单个数字时会遇到麻烦,如下图所示:
我想这个问题可能与某些噪声消除算法有关,它将孤立的单个数字识别为噪声.有没有办法在这些情况下改善视力反应?(例如管理噪声阈值或其他参数)
在其他时候,Vision会将数字与字母混淆:
但如果我指定为参数languageHints ='en'或'mt',则ocr会忽略这些数字.有没有办法强制识别数字或拉丁字符?
ocr text-recognition google-cloud-platform google-cloud-vision
我正在通过Google Cloud Vision API搜索图像中的相关产品。但是,我发现我需要首先创建一个产品集(并上传图像),然后搜索我创建的产品集。
是否有任何 API 可以让我提供图像(无需创建任何产品集)并在 google(或亚马逊等任何特定网站)中搜索图像中的相关产品(及其电子商务链接)?基本上复制了谷歌镜头对其应用程序的作用。如果没有,是否有适用于相同用例的谷歌镜头移动 SDK,即查找提供图像的相关产品(及其电子商务 URI)?
更新1
我对此进行了更多研究,并找到了Web Inspection API。这确实在一定程度上达到了目的。但是,我无法过滤来自特定网站的结果(例如:亚马逊)。有没有办法过滤特定域的结果?
我正在阅读有关vision API请求架构的文档.在图像源中,我只看到使用GCS图像路径的URL的选项.是否可以使用http://example.com/images/image01.jpg等外部图片网址?
我在90度旋转图像上尝试了Google Cloud Vision api(TEXT_DETECTION).它仍然可以正确返回识别的文本.(见下图)
这意味着即使图像旋转90度,180度,270度,引擎也可以识别文本.
但是,响应结果不包括正确图像方向的信息.(document:EntityAnnotation)
无论如何,不仅要获得认可的文字,还要获得方向?
谷歌可以支持它类似于(FaceAnnotation:getRollAngle)
我试图运行示例应用程序,在此处找到Github Sample,我已经创建了一个证书并创建了一个API密钥并按照指示应用.但是当我上传图片时,我得到了这个例外.我不知道我犯了什么错误.我错过了什么吗?
failed to make API request because {
"code": 403,
"errors": [{
"domain": "global",
"message": "Requests from this Android client application <empty> are blocked.",
"reason": "forbidden"
}],
"message": "Requests from this Android client application <empty> are blocked.",
"status": "PERMISSION_DENIED"
}
Run Code Online (Sandbox Code Playgroud) 当我们返回"我们目前无法访问该URL"时,我会调用google api.但资源必须存在且可以访问.
https://vision.googleapis.com/v1/images:annotate
请求内容:
{
"requests": [
{
"image": {
"source": {
"imageUri": "http://yun.jybdfx.com/static/img/homebg.jpg"
}
},
"features": [
{
"type": "TEXT_DETECTION"
}
],
"imageContext": {
"languageHints": [
"zh"
]
}
}
]
}
Run Code Online (Sandbox Code Playgroud)
回复内容:
{
"responses": [
{
"error": {
"code": 4,
"message": "We can not access the URL currently. Please download the content and pass it in."
}
}
]
}
Run Code Online (Sandbox Code Playgroud) 我刚刚测试了Google Cloud Vision API,以便在图片中读取文本(如果存在).
到目前为止,我安装了Maven服务器和Redis服务器.我只是按照本页中的说明操作.
https://github.com/GoogleCloudPlatform/cloud-vision/tree/master/java/text
到目前为止,我能够使用.jpg文件进行测试,是否可以使用tiff文件或pdf进行测试?
我使用以下命令:
java -cp target/text-1.0-SNAPSHOT-jar-with-dependencies.jar com.google.cloud.vision.samples.text.TextApp ../../data/text/
Run Code Online (Sandbox Code Playgroud)
在文本目录中,我有jpg格式的文件.
然后要读取转换后的文件,我不知道该怎么做,只是运行以下命令
java -cp target/text-1.0-SNAPSHOT-jar-with-dependencies.jar com.google.cloud.vision.samples.text.TextApp
Run Code Online (Sandbox Code Playgroud)
我收到消息,输入一个单词或短语来搜索转换后的文件.有没有办法看到整个文件转变?
谢谢!