opencv 基本畫圖功能使用,畫直線、圓、多邊形等,給圖像添加文字


直線

畫直線

矩形

畫矩形

畫圓

橢圓

畫橢圓

多邊形

畫多邊形

多條直線

畫多條直線

圖像上寫文字

在圖像上寫文字

實驗

import cv2 as cv
import numpy as np

# 創建一副黑色的圖片
img = np.zeros((512, 512, 3), np.uint8)

# 畫一條線寬為5的藍色直線
# 參數1:源圖像,參數2:起點,參數3:終點,參數4:顏色(藍色),參數5:線寬(5)
cv.line(img, (0, 0), (512, 512), (255, 0, 0), 5)

# 畫一個綠色邊框的矩形
# 參數1:源圖像,參數2:左上角坐標,參數3:右下角坐標,參數4:顏色(綠),參數5:線寬(3)
cv.rectangle(img, (384, 0), (510, 128), (0, 255, 0), 3)

# 畫一個填充紅色的圓
# 參數1:源圖像,參數2:圓心坐標,參數3:半徑,參數4:顏色(紅),參數5:-1表示填充
cv.circle(img, (447, 63), 63, (0, 0, 255), -1)

# 在圖中心畫一個填充的半橢圓
# 參數1:源圖像
# 參數2:橢圓中心(x,y)
# 參數3:x/y軸的長度
# 參數4:angle—橢圓的旋轉角度
# 參數5:startAngle—橢圓的起始角度
# 參數6:endAngle—橢圓的結束角度
# 參數7:顏色(藍色)
# 參數8:-1表示填充橢圓
cv.ellipse(img, (256, 256), (100, 50), 0, 0, 180, (255, 0, 0), -1)

# 畫多邊形
# 定義四個頂點坐標
pts = np.array([[10, 5],  [50, 10], [70, 20], [20, 30]], np.int32)
# 頂點個數:4,矩陣變成4*1*2維
pts = pts.reshape((-1, 1, 2))
# True表示閉合多邊形
cv.polylines(img, [pts], True, (0, 255, 255))

# 使用cv.polylines()畫多條直線
line1 = np.array([[100, 20],  [300, 20]], np.int32).reshape((-1, 1, 2))
line2 = np.array([[100, 60],  [300, 60]], np.int32).reshape((-1, 1, 2))
line3 = np.array([[100, 100],  [300, 100]], np.int32).reshape((-1, 1, 2))
cv.polylines(img, [line1, line2, line3], True, (0, 255, 255))

# 字體設置
font = cv.FONT_HERSHEY_SIMPLEX
# 參數1:源圖像,參數2:文字內容,參數3:文字寫入位置(左上角坐標),參數4:字體,參數5:文字大小,
# 參數6:顏色(白色),參數7:線寬(2),參數8:線型(LINE_AA表示抗鋸齒線型)
cv.putText(img, 'wojianxinygcl@163.com', (10, 500), font, 1, (255, 255, 255), 2, lineType=cv.LINE_AA)

cv.imshow('img', img)
cv.waitKey(0)
cv.destroyAllWindows()

實驗結果

opencv畫圖效果


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM