溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點(diǎn)擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

怎么在python中使用opencv繪制圖形

發(fā)布時間:2021-04-12 15:37:22 來源:億速云 閱讀:185 作者:Leah 欄目:開發(fā)技術(shù)

這篇文章給大家介紹怎么在python中使用opencv繪制圖形,內(nèi)容非常詳細(xì),感興趣的小伙伴們可以參考借鑒,希望對大家能有所幫助。

實(shí)現(xiàn)方法

1)畫線段 cv.line

在圖片中繪制一段直線

# 繪制線段
# 參數(shù)1:圖片
# 參數(shù)2:起點(diǎn)
# 參數(shù)3:終點(diǎn)
# 參數(shù)4:BGR顏色
# 參數(shù)5:寬度
cv2.line(img, (60, 40), (90, 90), (255, 255, 255), 2);

參數(shù)說明

參數(shù)說明
參數(shù)1img原圖片
參數(shù)2(60, 40)線段起點(diǎn)坐標(biāo)(像素)
參數(shù)3(90, 90)線段終點(diǎn)坐標(biāo)(像素)
參數(shù)4(255, 255, 255)BGR顏色(0 - 255)
參數(shù)52線段寬度

2)畫圓形 cv.circle

在圖片中繪制圓形

# 繪制圓形
# 參數(shù)1:圖片
# 參數(shù)2:圓心
# 參數(shù)3:半徑
# 參數(shù)4:BGR顏色
# 參數(shù)5:寬度 值為-1時填充
cv2.circle(img, (140, 120), 60, (0, 0, 255), 2);

參數(shù)說明

參數(shù)說明
參數(shù)1img原圖片
參數(shù)2(140, 120)圓心的坐標(biāo)(像素)
參數(shù)360圓的半徑(像素)
參數(shù)4(0, 0, 255)BGR顏色(0 - 255)
參數(shù)52線段寬度,為-1時進(jìn)行填充

3)畫矩形 cv.rectangle

在圖片中繪制矩形

# 繪制矩形
# 參數(shù)1:圖片
# 參數(shù)2:左上角
# 參數(shù)3:右下角
# 參數(shù)4:BGR顏色
# 參數(shù)5:寬度 值為-1時填充
cv2.rectangle(img, (220, 50), (380, 220), (0, 255, 0), 2);

參數(shù)說明

參數(shù)說明
參數(shù)1img原圖片
參數(shù)2(220, 50)左上角的坐標(biāo)(像素)
參數(shù)3(380, 220)右下角的坐標(biāo)(像素)
參數(shù)4(0, 255, 0)BGR顏色(0 - 255)
參數(shù)52線段寬度,為-1時進(jìn)行填充

4)畫橢圓形 cv.ellipse

在圖片中繪制橢圓形,這里參數(shù)就比較多了…

# 繪制橢圓
# 參數(shù)1:圖片
# 參數(shù)2:圓心
# 參數(shù)3:橫縱軸長
# 參數(shù)4:傾斜角度
# 參數(shù)5:繪制起點(diǎn)角度
# 參數(shù)6:繪制終點(diǎn)角度
# 參數(shù)7:BGR顏色
# 參數(shù)8:寬度 值為-1時填充
cv2.ellipse(img, (60, 20), (60, 20), 0, 0, 360, (255, 255, 255), 2);

參數(shù)說明

參數(shù)說明
參數(shù)1img原圖片
參數(shù)2(60, 20)橢圓中心坐標(biāo)(像素)
參數(shù)3(60, 20)橢圓橫、縱的距離(像素)
參數(shù)40橢圓傾斜角度(0-360)
參數(shù)50繪制起點(diǎn)角度(0-360)
參數(shù)60繪制終點(diǎn)角度(0-360)
參數(shù)7(255, 255, 255)BGR顏色(0 - 255)
參數(shù)82線段寬度,為-1時進(jìn)行填充

5)添加文本 cv.putText

給圖片添加文本顯示內(nèi)容

# 添加文字
# 參數(shù)1:圖片
# 參數(shù)2:文本內(nèi)容
# 參數(shù)3:文字位置
# 參數(shù)4:文字類型
# 參數(shù)5:文字大小
# 參數(shù)6:BGR顏色
# 參數(shù)7:文字粗細(xì)
cv2.putText(img, "phone", (15, 30), cv2.FONT_HERSHEY_COMPLEX, 1, (0, 0, 255), 1);

參數(shù)說明

參數(shù)說明
參數(shù)1img原圖片
參數(shù)2“phone”文本內(nèi)容
參數(shù)3(15, 30)文本左上角坐標(biāo)位置(像素)
參數(shù)4cv2.FONT_HERSHEY_COMPLEX文字類型
參數(shù)51文字大小
參數(shù)7(255, 255, 255)BGR顏色(0 - 255)
參數(shù)81字體粗細(xì)

文字類型主要有下面幾種:

1、cv.FONT_HERSHEY_SIMPLEX 正常尺寸無襯線
2、cv.FONT_HERSHEY_PLAIN 小尺寸無襯線
3、cv.FONT_HERSHEY_DUPLEX 正常尺寸(類型 1 的復(fù)制版)
4、cv.FONT_HERSHEY_COMPLEX 正常尺寸有襯線
5、cv.FONT_HERSHEY_TRIPLEX 正常尺寸有襯線(類型 4 的復(fù)雜版)
6、cv.FONT_HERSHEY_COMPLEX_SMALL (類型 4 的小尺寸)
7、cv.FONT_HERSHEY_SCRIPT_SIMPLEX 手寫風(fēng)格
8、cv.FONT_HERSHEY_SCRIPT_COMPLEX (類型 7 的復(fù)雜版)

以上字體可以試一下,可以看到不同的效果 (^_ ^)

完整代碼

import cv2

# 讀取圖片。
img = cv2.imread("img.jpeg");

# 繪制線段
# 參數(shù)1:圖片
# 參數(shù)2:起點(diǎn)
# 參數(shù)3:終點(diǎn)
# 參數(shù)4:BGR顏色
# 參數(shù)5:寬度
cv2.line(img, (60, 40), (90, 90), (255, 255, 255), 2);

# 繪制圓形
# 參數(shù)1:圖片
# 參數(shù)2:圓心
# 參數(shù)3:半徑
# 參數(shù)4:BGR顏色
# 參數(shù)5:寬度 值為-1時填充
cv2.circle(img, (140, 120), 60, (0, 0, 255), 2);

# 繪制橢圓
# 參數(shù)1:圖片
# 參數(shù)2:圓心
# 參數(shù)3:橫縱軸長
# 參數(shù)4:傾斜角度
# 參數(shù)5:繪制起點(diǎn)角度
# 參數(shù)6:繪制終點(diǎn)角度
# 參數(shù)7:BGR顏色
# 參數(shù)8:寬度 值為-1時填充
cv2.ellipse(img, (60, 20), (60, 20), 0, 0, 360, (255, 255, 255), 2);

# 繪制矩形
# 參數(shù)1:圖片
# 參數(shù)2:左上角
# 參數(shù)3:右下角
# 參數(shù)4:BGR顏色
# 參數(shù)5:寬度 值為-1時填充
cv2.rectangle(img, (220, 50), (380, 220), (0, 255, 0), 2);

# 添加文字
# 參數(shù)1:圖片
# 參數(shù)2:文本內(nèi)容
# 參數(shù)3:文字位置
# 參數(shù)4:文字類型
# 參數(shù)5:文字大小
# 參數(shù)6:BGR顏色
# 參數(shù)7:文字粗細(xì)
cv2.putText(img, "phone", (15, 30), cv2.FONT_HERSHEY_COMPLEX, 1, (0, 0, 255), 1);
cv2.putText(img, "36.4C", (250, 250), cv2.FONT_HERSHEY_COMPLEX, 1, (0, 255, 0), 2);

# 顯示圖像
cv2.imshow("title", img);

# 進(jìn)程不結(jié)束,一直保持顯示狀態(tài)
cv2.waitKey(0);

#銷毀所有窗口
cv2.destroyAllWindows();

關(guān)于怎么在python中使用opencv繪制圖形就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,可以學(xué)到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報,并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI