在实际应用场景中,由于用户拍摄角度的原因,很多图片上的文本是倾斜的,腾讯云通用印刷体识别不仅支持识别图片文本信息,还能针对倾斜文本进行图片的旋转纠正,并返回图片的旋转角度和纠正后的文本行位置坐标,方便您对图片文本的二次处理和利用。
使用参数
通过使用以下输出参数可以对图片中的倾斜文本进行纠正。
使用方法
步骤一:准备一张倾斜文本的图片。
{"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 cv2from PIL import Imageimport numpydef 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 rotatedimage = cv2.imread('./demo.jpg')angle = 6.4rotate_img = rotate_img(image, angle)img2 = rotate_img[:,:,::-1]
运行后可以得到已旋转的文本图片,以“Raffaello”该行文本为例,根据输出参数 "ItemPolygon": { "X": 396, "Y": 304,"Width": 282, "Height": 68 }, 即可获取旋转纠正后的文本行定位。