
一、繪制直線
cv2.line(image, pt1, pt2, color, thickness)
參數(shù) | 說明 |
---|
image | 目標(biāo)圖像。 |
pt1 | 線段起點,格式為 (x, y)。 |
pt2 | 線段終點,格式為 (x, y)。 |
color | 線條顏色,格式為 (B, G, R)。 |
thickness | 線條的粗細(xì),默認(rèn)值為 1。 |
import cv2
import numpy as npimg = np.zeros((500, 500, 3), dtype=np.uint8) # 創(chuàng)建一個500x500像素的黑色圖片,3表示彩色圖片(BGR),np.uint8表示像素值為8位無符號整數(shù)
cv2.line(img, (100, 100), (300, 300), (0,0,255), 5) # 在圖片上畫一條直線,起點(100,100),終點(300,300),顏色為灰色(125,125,125),線寬為5
cv2.imshow('img', img) # 顯示圖片,窗口名為'img'
cv2.waitKey(0) # 等待按鍵,0表示無限等待,直到用戶按下任意鍵

二、繪制矩形
cv2.rectangle(image, pt1, pt2, color, thickness)
參數(shù) | 說明 |
---|
image | 目標(biāo)圖像。 |
pt1 | 線段起點,格式為 (x, y)。 |
pt2 | 線段終點,格式為 (x, y)。 |
color | 線條顏色,格式為 (B, G, R)。 |
thickness | 線條的粗細(xì),默認(rèn)值為 1。 |
import cv2
import numpy as np# 創(chuàng)建一個空白圖像
image = np.zeros((400, 400, 3), dtype=np.uint8) # 創(chuàng)建一個400x400像素的黑色圖片,3表示彩色圖片(BGR),np.uint8表示像素值為8位無符號整數(shù)# 繪制一個綠色矩形
cv2.rectangle(image, (100, 100), (300, 200), (0, 255, 0), thickness=3) # 在圖片上畫一個矩形,左上角坐標(biāo)(100,100),右下角坐標(biāo)(300,200),顏色為綠色(0,255,0),線寬為3cv2.imshow("Rectangle", image) # 顯示圖片,窗口名為"Rectangle"
cv2.waitKey(0) # 等待按鍵,0表示無限等待,直到用戶按下任意鍵
cv2.destroyAllWindows() # 銷毀所有OpenCV創(chuàng)建的窗口

三、繪制圓形
cv2.circle(image, center, radius, color, thickness)
參數(shù) | 說明 |
---|
image | 目標(biāo)圖像。 |
center | 圓心坐標(biāo) (x, y)。 |
radius | 圓的半徑。 |
color | 線條顏色,格式為 (B, G, R)。 |
thickness | 正值 - 圓的邊框粗細(xì),負(fù)值 - 填充整個圓。 |
import cv2
import numpy as np# 創(chuàng)建一個空白圖像
image = np.zeros((400, 400, 3), dtype=np.uint8)
# 使用NumPy創(chuàng)建一個400x400像素的數(shù)組,表示一個空白圖像。
# (400, 400) 是圖像的高度和寬度。
# 3 表示圖像有3個顏色通道(藍(lán)色、綠色、紅色,即BGR格式)。
# dtype=np.uint8 指定數(shù)組中每個元素的類型是8位無符號整數(shù),這意味著每個顏色通道的像素值范圍是0到255。
# 初始值為0,所以圖像是黑色的。# 繪制一個藍(lán)色圓
cv2.circle(image, (200, 200), 50, (255, 0, 0), thickness=-1)
# 在圖像上繪制一個圓。
# image: 要在其上繪制圓的圖像。
# (200, 200): 圓心的坐標(biāo),X軸200,Y軸200。
# 50: 圓的半徑,像素單位。
# (255, 0, 0): 圓的顏色,BGR格式。這里是藍(lán)色(藍(lán)色通道255,綠色和紅色通道0)。
# thickness=-1: 圓的填充方式。-1表示填充整個圓,如果指定一個正整數(shù),則表示圓的邊框?qū)挾?。cv2.imshow("Circle", image) # 顯示圖像,窗口標(biāo)題為"Circle"
cv2.waitKey(0) # 等待用戶按下任意按鍵。0表示無限等待。
cv2.destroyAllWindows() # 關(guān)閉所有OpenCV創(chuàng)建的窗口。

四、繪制多邊形
cv2.polylines(image, pts, isClosed, color, thickness)
參數(shù) | 說明 |
---|
image | 目標(biāo)圖像。 |
pts | 多邊形的頂點集合,格式為 np.array([[x1, y1], [x2, y2], ...],dtype=np.int(32)。 |
isClosed | 布爾值,是否閉合多邊形。 |
color | 線條顏色,格式為 (B, G, R)。 |
thickness | 邊框的粗細(xì)。 |
import cv2
import numpy as np# 創(chuàng)建一個空白圖像
image = np.zeros((400, 400, 3), dtype=np.uint8)
# 使用NumPy創(chuàng)建一個400x400像素的數(shù)組,表示一個空白圖像。
# (400, 400) 是圖像的高度和寬度。
# 3 表示圖像有3個顏色通道(藍(lán)色、綠色、紅色,即BGR格式)。
# dtype=np.uint8 指定數(shù)組中每個元素的類型是8位無符號整數(shù),這意味著每個顏色通道的像素值范圍是0到255。
# 初始值為0,所以圖像是黑色的。# 定義多邊形頂點
points = np.array([[150, 150], [250, 150], [300, 250], [200, 300]], dtype=np.int32)
# 定義多邊形的各個頂點坐標(biāo)。
# np.array() 創(chuàng)建一個NumPy數(shù)組。
# 每個子列表 [x, y] 代表一個頂點的(x, y)坐標(biāo)。
# dtype=np.int32 指定頂點坐標(biāo)的數(shù)據(jù)類型為32位整數(shù)。# 繪制多邊形
cv2.polylines(image, [points], isClosed=True, color=(255, 255, 0), thickness=2)
# 在圖像上繪制多邊形。
# image: 要在其上繪制多邊形的圖像。
# [points]: 頂點的數(shù)組列表。即使只有一個多邊形,也需要將其放在一個列表中。
# isClosed=True: 表示多邊形是閉合的,即最后一個頂點會與第一個頂點連接。如果為False,則只繪制開放的折線。
# color=(255, 255, 0): 多邊形的顏色,BGR格式。這里是青色(藍(lán)色和綠色通道255,紅色通道0)。
# thickness=2: 多邊形邊框的線寬,像素單位。cv2.imshow("Polygon", image) # 顯示圖像,窗口標(biāo)題為"Polygon"
cv2.waitKey(0) # 等待用戶按下任意按鍵。0表示無限等待。
cv2.destroyAllWindows() # 關(guān)閉所有OpenCV創(chuàng)建的窗口。
