当前位置: 首页 > 编程笔记 >

Python3使用腾讯云文字识别(腾讯OCR)提取图片中的文字内容实例详解

封鸿雪
2023-03-14
本文向大家介绍Python3使用腾讯云文字识别(腾讯OCR)提取图片中的文字内容实例详解,包括了Python3使用腾讯云文字识别(腾讯OCR)提取图片中的文字内容实例详解的使用技巧和注意事项,需要的朋友参考一下

百度OCR体验地址:

https://ai.baidu.com/tech/imagerecognition/general

腾讯OCR体验地址:

https://cloud.tencent.com/act/event/ocrdemo

测试结果是:腾讯的效果要比百度的好

腾讯云目前额度是:

每个接口 1,000次/月免费,有6个文字识别的接口,一共是6,000次/月

百度接口调用之前写过文章

python实现百度OCR图片识别过程解析

使用步骤

1、注册账号: https://cloud.tencent.com/

2、开通服务:https://console.cloud.tencent.com/ocr/general

3、申请访问秘钥:https://console.cloud.tencent.com/cam/capi

4、通过 API 或 SDK 或命令行来使用服务

具体参考《操作指南》:https://cloud.tencent.com/document/product/866/17622

接口使用

1、安装SDK

https://github.com/TencentCloud/tencentcloud-sdk-python

pip3 install tencentcloud-sdk-python

2、代码实例

# -*- coding: utf-8 -*-

import json

from tencentcloud.common import credential
from tencentcloud.common.profile.client_profile import ClientProfile
from tencentcloud.common.profile.http_profile import HttpProfile
from tencentcloud.ocr.v20181119 import ocr_client
from tencentcloud.ocr.v20181119.models import (
  GeneralAccurateOCRRequest,
  EnglishOCRRequest,
  GeneralBasicOCRRequest,
  GeneralEfficientOCRRequest,
  GeneralFastOCRRequest,
  GeneralHandwritingOCRRequest
)


class TencentOcr(object):
  """
  计费说明:1,000次/月免费
  https://cloud.tencent.com/document/product/866/17619
  """
  SECRET_ID = "你的秘钥 SECRET_ID"

  SECRET_KEY = "你的秘钥 SECRET_KEY"
	
	# 地域列表
	# https://cloud.tencent.com/document/api/866/33518#.E5.9C.B0.E5.9F.9F.E5.88.97.E8.A1.A8
  Region = "ap-beijing"

  endpoint = "ocr.tencentcloudapi.com"

  # 通用文字识别相关接口
  # https://cloud.tencent.com/document/api/866/37173
  mapping = {
    # 通用印刷体识别(高精度版) ok
    "GeneralAccurateOCR": GeneralAccurateOCRRequest,

    # 英文识别 ok
    "EnglishOCR": EnglishOCRRequest,

    # 通用印刷体识别 一般
    "GeneralBasicOCR": GeneralBasicOCRRequest,

    # 通用印刷体识别(精简版)(免费公测版)no
    "GeneralEfficientOCR": GeneralEfficientOCRRequest,

    # 通用印刷体识别(高速版)一般
    "GeneralFastOCR": GeneralFastOCRRequest,

    # 通用手写体识别 ok
    "GeneralHandwritingOCR": GeneralHandwritingOCRRequest,

  }

  def __init__(self):
    cred = credential.Credential(self.SECRET_ID, self.SECRET_KEY)

    httpProfile = HttpProfile()
    httpProfile.endpoint = self.endpoint

    clientProfile = ClientProfile()
    clientProfile.httpProfile = httpProfile
    self.client = ocr_client.OcrClient(cred, self.Region, clientProfile)

  def get_image_text(self, image_url, ocr="GeneralAccurateOCR"):
    req = self.mapping[ocr]()
    req.ImageUrl = image_url
    resp = getattr(self.client, ocr)(req)
    return json.loads(resp.to_json_string())['TextDetections'][0]['DetectedText']


def main():
  tencentOcr = TencentOcr()
  url = "https://ocr-demo-1254418846.cos.ap-guangzhou.myqcloud.com/general/GeneralBasicOCR/GeneralBasicOCR3.jpg"
  print(tencentOcr.get_image_text(url, ocr="GeneralHandwritingOCR"))


if __name__ == '__main__':
  main()

更多关于Python3使用腾讯云文字识别(腾讯OCR)提取图片中的文字内容实例请查看下面的相关链接

 类似资料:
  • 介绍如何获取腾讯云API密钥信息 如何获取腾讯云API密钥 登录腾讯云控制台,单击右上角 “云产品” 菜单项,在展开的菜单中搜索 “云API密钥” 菜单项,单击进入API密钥管理页面。 在API密钥管理页面获取APP ID、密钥ID(SecretId)、密码(SecretKey)对应的值。 管理腾讯云资源,需要云账号具备哪些权限 功能 只读权限 可读可写权限 所有功能总和 ReadOnlyAcce

  • 腾讯云 图 1.20.3.1 - 腾讯云 腾讯云 在架构方面经过多年积累,并且有着多年对海量互联网服务的经验。不管是社交、游戏还是其他领域,都有多年的成熟产品来提供产品服务。腾讯在云端完成重要部署,为开发者及企业提供云服务、云数据、云运营等整体一站式服务方案。 具体包括 云服务器、云存储、云数据库、视频与CDN 和 域名注册 等基础云服务;腾讯云分析(MTA)、腾讯云推送(信鸽)等腾讯整体大数据能

  • 本文向大家介绍Python文字截图识别OCR工具实例解析,包括了Python文字截图识别OCR工具实例解析的使用技巧和注意事项,需要的朋友参考一下 一、简介 你一定用过那种“OCR神器”,可以把图片中的文字提取出来,极大的提高工作效率。 今天,我们就来做一款实时截图识别的小工具。顾名思义,运行程序时,可以实时把你截出来的图片中的文字识别出来。 二、模块 三、获取百度应用接口 AI开放平台文档中心

  • 笔试时间:2023年3月23日 腾讯音乐 春招实习 第一题 题目:二叉树赋值 小红拿到了一个二叉树,二叉树共有n个节点。小红希望你将所有节点赋值为1到n的正整数,且没有两个节点的值相等。需要满足:奇数层的权值和与偶数层的权值和之差的绝对值不超过1。如果有多种赋值方案,请返回任意—种方案。如果无解,请返回空树。数据范围: 1<n ≤105。给定的二叉树节点初始权值默认为-1。 示例输入一 {-1,-

  • 笔试时间:2023年3月26日 春招实习 第一题 题目:层序遍历二叉树 小红拿到一棵满二叉树,她通过层序遍历的顺序把每个节点的权值都告诉了你,保证每个节点的权值都不相同。现在小红有q次询问,每次询问一个权值,小红想知道: 1、这个节点是否存在? 2、这个节点的左儿子和右儿子的权值是多少? 输入描述 第一行输入一个正整数n,代表二叉树的层数; 第二行输入 2n-1个正整数ai,代表这个完全二叉树的层

  • 一面1h 3/22 面经: 1. 介绍实习工作内容 做什么测试和业务流程 2. 离职原因 + 职业规划 3. 介绍项目 只说了一个 另一个没给机会说 3. cookie session区别 4. dns 解析流程 5. 项目的http升级成https 还需要怎么做 6. tcp upd 区别 7. http 和 rpc 区别 8. mysql 存储引擎区别 9. linux 常用命令 10. 手撕