OpenCV 將文字放置在影象上
本教程將討論在 Python 中使用 OpenCV 的 putText()
函式將文字放置在影象上。
在 Python 中使用 Opencv 的 putText()
函式將文字放置在影象上
我們可以使用 OpenCV 的 putText()
函式將文字放置在具有所需顏色、字型大小、字型系列和位置的影象上。putText()
函式的第一個引數是我們要放置文字的影象。
第二個引數是我們想要放置在影象上的文字(字串)。第三個引數是我們要放置文字的位置,預設情況下,位置原點是影象的左上角。
位置的值應使用兩個整數設定,其中第一個整數定義 x 軸位置,第二個整數定義 y 軸位置。
例如,如果我們將位置設定為 (10,20),它將把文字放置在距離原點 10 畫素和 y 軸 20 畫素的位置,原點位於影象的左上角。
第四個引數是字型系列,它可以來自 OpenCV 的預設字型系列,如 cv2.FONT_HERSHEY_SIMPLEX
。第五個引數是字型大小或字型比例,它的值應該是雙精度資料型別。
第六個引數是文字的顏色,它的值應該是一個 RGB 三元組,例如 (255,255,255) 表示白色。
上述所有引數都是必需的,如果缺少一個或多個引數,則會出現錯誤。我們還可以設定三個可選引數,如果我們不設定可選引數的值,將使用預設值。
第一個可選引數是線條的粗細,預設情況下它的值應該是一個整數。第二個可選引數是線型或樣式,預設設定為 cv2.LINE_8
。
第三個可選引數用於將左下位置設定為原點,如果為真,則預設設定為假,它會翻轉文字。
例如,讓我們使用 numpy
庫的 zeros() 函式建立一個黑色的 512×512 影象,然後使用 putText()
函式在其上放置一些隨機文字。請參閱下面的程式碼。
import numpy as np
import cv2
img = np.zeros((512, 512, 3), np.uint8)
font = cv2.FONT_HERSHEY_SIMPLEX
position = (10, 500)
fontScale = 2
fontColor = (255, 255, 0)
cv2.putText(img, "Hello World!", position, font, fontScale, fontColor)
cv2.imshow("img", img)
cv2.waitKey(0)
輸出:
我們在上面的示例中使用了黑色影象,但我們也可以使用 imread()
函式使用任何彩色影象。我們還可以更改可選引數的值。
例如,讓我們將線條的粗細更改為 3。對於 antialiased
線條,線條型別為 cv2.LINE_AA
,讓我們使用最後一個引數翻轉文字並將其設定為 true。請參閱下面的程式碼。
import numpy as np
import cv2
img = np.zeros((512, 512, 3), np.uint8)
font = cv2.FONT_HERSHEY_SIMPLEX
position = (10, 450)
fontScale = 2
fontColor = (255, 255, 0)
cv2.putText(
img, "Hello World!", position, font, fontScale, fontColor, 3, cv2.LINE_AA, True
)
cv2.imshow("img", img)
cv2.waitKey(0)
輸出:
你可以在程式碼中看到我們還必須再次設定文字的位置,以便它應該可見。檢視此連結瞭解有關 OpenCV 支援的字型系列的更多詳細資訊。
相關文章 - Python OpenCV
- OpenCV sobel() 函式
- Python 中 OpenCV 的 GUI 特性
- 在 Python 中使用 OpenCV 的 HSV 顏色空間
- 在 Python 中使用 OpenCV 建立二維碼掃描器
- OpenCV 中的模糊濾鏡
- 使用 OpenCV 進行物件跟蹤