OpenCV 中繪製圓
Ammar Ali
2024年2月15日
本教程將討論在 Python 中使用 OpenCV 的 circle()
函式在影象上繪製圓圈。
在 Python 中使用 OpenCV 的 circle()
函式在影象上繪製圓圈
我們可以使用 OpenCV 的 circle()
函式在影象上繪製具有我們想要的位置、半徑、顏色、粗細和線型的圓圈。
circle()
函式的第一個引數是我們要繪製圓的影象。第二個引數是圓的中心點,它的值應該是一個包含我們要用作圓心的畫素的 x 和 y 軸值的點。
該位置從影象的左上角開始。第三個引數是圓的半徑,它的值可以是任意整數。第四個引數是圓的顏色,它應該是一個 BGR 三元組值,如紅色的 (0,0,255)
。
上面提到的引數是強制性的,如果缺少其中一個,就會出錯。
例如,讓我們使用 OpenCV 的 imread()
函式讀取影象,然後使用 circle()
函式在影象上繪製圓圈並使用 OpenCV 的 imshow()
函式顯示它。請參閱下面的程式碼。
import cv2
img = cv2.imread("cat.jpg")
imgWC = cv2.circle(img, (110, 110), 100, (0, 0, 255))
cv2.imshow("Image With Circle", imgWC)
cv2.waitKey(0)
輸出:
我們可以更改其他三個可選引數。可選引數具有將使用的預設值。
假設我們沒有為可選引數定義值。第一個可選引數是圓的厚度,我們可以將其設定為任何整數。
第二個可選引數是線型或樣式,預設設定為 cv2.LINE_8
。第三個可選引數是我們想要用作中心和半徑值協調的小數位的移位值。
例如,讓我們將可選引數(如粗細)更改為 10
,將線型更改為 cv2.LINE_AA
。請參閱下面的程式碼。
import cv2
img = cv2.imread("cat.jpg")
imgWC = cv2.circle(img, (110, 110), 100, (0, 0, 255), 10, cv2.LINE_AA)
cv2.imshow("Image With Circle", imgWC)
cv2.waitKey(0)
輸出:
如果我們將圓形厚度設定為負值,它將用顏色填充圓形區域。
還有其他函式可用於不同的形狀,例如 rectangle()
在影象上繪製矩形,line()
繪製一條線,ellipse()
繪製橢圓,以及 putText()
將文字放在影象上。
作者: Ammar Ali