Python 用 OpenCV 顯示文字 (6)
阿新 • • 發佈:2018-12-21
利用 OpenCV 自帶的 putText() 函式繪製文字 並顯示,其函式宣告如下:
cv2.putText(img, text, org, fontFace, fontScale, color[, thickness[, lineType[, bottomLeftOrigin]]])
- img:要畫的圓所在的矩形或影象
- text:要繪製的文字
- org:文字在影象中的左下角座標
- fontFace:字型,可選 :FONT_HERSHEY_SIMPLEX, FONT_HERSHEY_PLAIN, FONT_HERSHEY_DUPLEX,FONT_HERSHEY_COMPLEX, FONT_HERSHEY_TRIPLEX, FONT_HERSHEY_COMPLEX_SMALL, FONT_HERSHEY_SCRIPT_SIMPLEX, orFONT_HERSHEY_SCRIPT_COMPLEX, 以上所有型別都可以配合 FONT_HERSHEY_ITALIC使用,產生斜體效果
- fontScale:字型大小,該值和基礎大小相乘得到字型大小
- color:文字顏色,如 (0, 0, 255) 紅色,BGR
- thickness:字型線條寬度
- lineType:
- 8 (or omitted) : 8-connected line
- 4:4-connected line
- CV_AA - antialiased line
- bottomLeftOrigin:為 true,影象資料原點在左下角;否則,影象資料原點在左上角
繪製文字的完整程式碼如下:
#!/usr/bin/python
# -*- coding: UTF-8 -*-
"""
@Time : 2018-11-13 21:47
@Author : jianjun.wang
@Email : [email protected]
Font type. One of FONT_HERSHEY_SIMPLEX, FONT_HERSHEY_PLAIN, FONT_HERSHEY_DUPLEX, FONT_HERSHEY_COMPLEX,
FONT_HERSHEY_TRIPLEX, FONT_HERSHEY_COMPLEX_SMALL, FONT_HERSHEY_SCRIPT_SIMPLEX,
or FONT_HERSHEY_SCRIPT_COMPLEX, where each of the font ID’s can be combined with FONT_ITALIC
"""
import numpy as np
import cv2 as cv
img = np.zeros((320, 320, 3), np.uint8) #生成一個空灰度影象
print img.shape # 輸出:(320, 320, 3)
text = 'AlanWang4523'
org = (40, 80)
fontFace = cv.FONT_HERSHEY_COMPLEX
fontScale = 1
fontcolor = (0, 255, 0) # BGR
thickness = 1
lineType = 4
bottomLeftOrigin = 1
# cv.putText(img, text, org, fontFace, fontScale, fontcolor, thickness, lineType, bottomLeftOrigin)
cv.putText(img, text, org, fontFace, fontScale, fontcolor, thickness, lineType)
text = 'https://blog.csdn.net/u011520181'
org = (10, 180)
fontFace = cv.FONT_HERSHEY_TRIPLEX
fontScale = 0.5
fontcolor = (0, 0, 255) # BGR
thickness = 1
lineType = 4
bottomLeftOrigin = 1
cv.putText(img, text, org, fontFace, fontScale, fontcolor, thickness, lineType)
cv.namedWindow("image")
cv.imshow('image', img)
cv.waitKey (10000) # 顯示 10000 ms 即 10s 後消失
cv.destroyAllWindows()
執行後效果如下: