close

使用 OpenCV 測試不同字體樣式的 Python 程式解析

以下程式展示了如何在白色畫布上使用 OpenCV 的多種字體樣式來繪製文字。

程式碼範例與註解

# 匯入必要模組
import numpy as np
import cv2

# 建立 512x512 的黑色畫布
gc = np.zeros((512, 512, 3), np.uint8)
# 用 (B, G, R) = (255, 255, 255): 白色填滿畫布
gc.fill(255)

# 定義多種字體樣式
font = [
    cv2.FONT_HERSHEY_SIMPLEX,
    cv2.FONT_HERSHEY_PLAIN,
    cv2.FONT_HERSHEY_DUPLEX,
    cv2.FONT_HERSHEY_COMPLEX,
    cv2.FONT_HERSHEY_TRIPLEX,
    cv2.FONT_HERSHEY_COMPLEX_SMALL,
    cv2.FONT_HERSHEY_SCRIPT_SIMPLEX,
    cv2.FONT_HERSHEY_SCRIPT_COMPLEX
]

# 在畫布上依次繪製每種字體
y = 50
for f in font:
    cv2.putText(gc, 'OpenCV', (10, y), f, 2, (0, 0, 0), 2, cv2.LINE_AA)
    y += 60

# 顯示畫布
cv2.imshow("draw", gc)
cv2.waitKey(0)
cv2.destroyAllWindows()

  

程式解析

  • 建立畫布: 使用 np.zeros 建立一個 512x512 的黑色畫布,並使用 fill(255) 將其填滿為白色。
  • 定義字體列表: 定義了一組 OpenCV 支援的字體樣式,列表中包括了多種字體,如 FONT_HERSHEY_SIMPLEXFONT_HERSHEY_SCRIPT_COMPLEX
  • 繪製文字: 使用 cv2.putText 在畫布的不同位置繪製文字 'OpenCV'。文字的字體由字體列表決定,位置隨迴圈逐步遞增。
  • 顯示畫布: 使用 cv2.imshow 顯示畫布,按下任意鍵後關閉視窗。

結論

此程式展示了 OpenCV 支援的多種字體樣式,並在畫布上依次顯示它們的效果。用戶可以基於此程式更改字體大小、顏色或測試不同的樣式,進一步熟悉 cv2.putText 的功能。

arrow
arrow
    全站熱搜
    創作者介紹
    創作者 liusming 的頭像
    liusming

    劉老師的跨域創想工坊

    liusming 發表在 痞客邦 留言(0) 人氣()