在实际应用场景中,由于用户拍摄角度的原因,很多图片上的文本是倾斜的,腾讯云通用印刷体识别不仅支持识别图片文本信息,还能针对倾斜文本进行图片的旋转纠正,并返回图片的旋转角度和纠正后的文本行位置坐标,方便您对图片文本的二次处理和利用。
使用参数
通过使用以下输出参数可以对图片中的倾斜文本进行纠正。
![](https://main.qcloudimg.com/raw/4e1725dbcf2dcd6591823f09157e00ed.png)
![](https://main.qcloudimg.com/raw/6d2eea8caeac580a8f9a4c86f85fad41.png)
使用方法
步骤一:准备一张倾斜文本的图片。
![](https://main.qcloudimg.com/raw/337971af0514d3846fd29e17402370c6.png)
{"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 }, 即可获取旋转纠正后的文本行定位。
![](https://main.qcloudimg.com/raw/c8a23f936dbd1f0a9f6f7893b1491b12.png)