OCR这个代码里面没有输入的图片路径之类的吗?如何加请求参数?
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。
是的,以上代码中并没有提供输入的图片路径,因为该代码的示例采用的是阿里云 OCR 的图像 URL 地址进行识别的方式。
如果您需要使用本地的图片文件,可以使用 python 的 open 函数读取本地图片文件,然后将读取到的二进制数据作为 Image 参数传递给 API 接口。代码示例如下:
with open('/path/to/your/image.jpg', 'rb') as image_file:
encoded_image = base64.b64encode(image_file.read())
params['ImageURL'] = ''
params['ImageUrl'] = ''
data = {
'ImageType': 'Base64',
'Image': encoded_image,
'Url': '',
'Height': '',
'Width': '',
}
这里,我们将 params['ImageURL']
和 params['ImageUrl']
设置为空,以使用 Image 参数进行识别。然后读取 /path/to/your/image.jpg
文件的二进制数据,编码为 Base64 字符串,并将其作为 Image 参数传递给 API 接口。
如果您需要传递其他的请求参数,可以添加到 params
参数中,例如:
params['OCRType'] = 'normal'
params['OutputFileFormat'] = 'normal'
params['MinHeight'] = ''
params['MaxHeight'] = ''
params['ReturnType'] = ''
params['ProjectId'] = ''
params['Side'] = ''
params['WatermarkImageURL'] = ''
params['Watermark'] = ''
其中,OCRType 是 OCR 识别类型,支持 normal(普通文本)、table(表格识别)、mixed(混合识别);OutputFileFormat 是输出结果的格式,支持 normal(普通文本)、json(JSON 格式结果)、xml(XML 格式结果);MinHeight 和 MaxHeight 是识别文本的高度限制,单位为像素;其他参数的详细说明请参考阿里云 OCR 官方文档。
// InputStream inputStream = new FileInputStream("D:\Image\题目识别\test1.jpg"); // recognizeAdvancedRequest.setBody(stream);,此回答整理自钉群“【官方】阿里云OCR公共云客户交流群”