有奖:语音产品征文挑战赛火热进行中> HOT
文档中心 > 文字识别
在实际应用场景中,由于用户拍摄角度的原因,很多图片上的文本是倾斜的,腾讯云通用印刷体识别不仅支持识别图片文本信息,还能针对倾斜文本进行图片的旋转纠正,并返回图片的旋转角度和纠正后的文本行位置坐标,方便您对图片文本的二次处理和利用。

使用参数

通过使用以下输出参数可以对图片中的倾斜文本进行纠正。
参数名称
类型
描述
Angel
Float
图片的旋转角度(角度制),文本的水平方向为0°;顺时针为正,逆时针为负。
Polygon
Array of?Coord
文本行坐标,以四个顶点的坐标表示。注意:此字段可能返回 null,表示取不到有效值。
ItemPolygon
文本行在旋转纠正之后的图像中的像素坐标,表示为(左上角 x, 左上角 y,宽 width,高 height)。
?
?

使用方法

步骤一:准备一张倾斜文本的图片。
?
步骤二:调用通用印刷体识别接口,得到如下请求返回,如何调用请参考 快速入门
{
"TextDetections": [
{
"DetectedText": "Confetteria",
"Confidence": 99,
"ItemPolygon": {
"X": 473,
"Y": 273,
"Width": 112,
"Height": 22
},
"Polygon": [
{
"X": 450,
"Y": 211
},
{
"X": 560,
"Y": 223
},
{
"X": 558,
"Y": 244
},
{
"X": 448,
"Y": 232
}
],
"AdvancedInfo": "{\\"Parag\\":{\\"ParagNo\\":1}}"
},
{
"DetectedText": "Raffaello",
"Confidence": 99,
"ItemPolygon": {
"X": 396,
"Y": 304,
"Width": 282,
"Height": 68
},
"Polygon": [
{
"X": 370,
"Y": 233
},
{
"X": 649,
"Y": 265
},
{
"X": 642,
"Y": 331
},
{
"X": 362,
"Y": 299
}
],
"AdvancedInfo": "{\\"Parag\\":{\\"ParagNo\\":2}}"
},
...
],
"Language": "zh",
"Angel": 6.5,
"RequestId": "8f038ec7-062d-44b0-b2f9-e5736ced4f84"
}
?
步骤三:根据图片旋转的相关参数,进行图片文字的二次纠正。 根据输出参数"Angel":6.5,对图片进行逆时针旋转6.5度,图片旋转代码可参考以下的 Python 示例:
import cv2
from PIL import Image
import numpy
def rotate_img(image,angle):
img = Image.fromarray(cv2.cvtColor(image,cv2.COLOR_BGR2RGB))
rotated = img.rotate(angle, expand = 1)
rotated = cv2.cvtColor(numpy.asarray(rotated),cv2.COLOR_RGB2BGR)
return rotated
image = cv2.imread('./demo.jpg')
angle = 6.4
rotate_img = rotate_img(image, angle)
img2 = rotate_img[:,:,::-1]
?
运行后可以得到已旋转的文本图片,以“Raffaello”该行文本为例,根据输出参数 "ItemPolygon": { "X": 396, "Y": 304,"Width": 282, "Height": 68 }, 即可获取旋转纠正后的文本行定位。
?


http://www.vxiaotou.com