Opencv-Python-繪制基本圖形和常見的RGB值


圖像坐標

首先了解Opencv如何對圖像建立坐標, 以左上腳為原點, 向下為y軸, 向右為x

圓/點

圓和點其實可以用同一個函數來畫

def circle(img, center, radius, color, thickness=None, lineType=None, shift=None):

img: 圖像, 實質就是一個矩陣
center: 圓心坐標, (x, y)
radius: 圓的半徑
color: 圓的顏色, 格式是(B, G, R), 表示B, G, R通道, 范圍是0~255
thickness: 如果是正數就是線條的寬度, 負數就會填充圓, 畫成實心圓, 當半徑很小時可以看成就是點
lineType: 線條類型
shift:中心坐標和半徑值中的小數位數

常見的RGB值, 注意上面的colorBGR

顏色 R(Red) G(Green) B(Blue)
黑色 0 0 0
白色 255 255 255
灰色 192 192 192
紅色 0 0 255
綠色 0 255 0
藍色 0 0 255
紫紅色 255 0 255
黃色 255 255 0
棕色 128 128 0

例程:

image = cv2.imread('./test.jpg')
cv2.circle(image, (100, 100), 5, (0, 0, 255), 1, 16)

cv2.imshow('demo', image)
cv2.waitKey(0)
cv2.destroyAllWindows()

橢圓

def ellipse(img, center, axes, angle, startAngle, endAngle, color, thickness=None, lineType=None, shift=None):
    
axes: 長短軸, (x, y)此處x表示水平長度, y表示豎直長度, x,y沒有大小限制, x, y也可以相等, 畫出的就是圓
angle: 旋轉角度, 一般是0, 即不旋轉
startAngle: 起始角度, 一般是0
endAngle: 結束角度, 一般是360
其他參數與圓類似不再贅述

矩形

def rectangle(img, pt1, pt2, color, thickness=None, lineType=None, shift=None):

這兩個值其實就是對角線, 根據對角線來畫矩形
pt1: 矩形左上角坐標, (left, top)
pt2: 矩形右下角坐標, (right, bottom)
其他參數與圓類似不再贅述

線/多邊形

def polylines(img, pts, isClosed, color, thickness=None, lineType=None, shift=None):

pts: 坐標數組, 注意此處是[ np.array( [ [x, y],  ] ) ], 中間是一個numpy數組, 外面是一個列表
	 兩個坐標就可以表示線, 例如[ np.array( [ [910, 650], [206, 650] ] ) ]	
isClosed: 是否為閉合線段, 表示線此處應該為False
其他參數與圓類似不再贅述


免責聲明!

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



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