opencv 提供了繪制直線、圓形、矩形等基本繪圖的功能
1、繪直線
cv2.line(畫布,起點坐標,終點坐標,顏色,寬度)
例如:
cv2.line(image,(20,60),(300,400),(0,0,255),2)
2、繪矩形
cv2.rectange(畫布,起點,終點,顏色,寬度)
若寬度大於0,標識邊線寬度;如果小於0,表示畫實心矩形
cv2.rectange(image,(20,60),(300,400),(255,0,0),-1)
3、繪圓形
cv2.circle(畫布,圓心坐標,半徑,顏色,寬度)
若寬度大於0,標識邊線寬度;如果小於0,表示畫實心圓行
cv2.circle(image,(300,300),40,(0,255,0),2)
4、繪多邊形
cv2.polylines(畫布,點坐標列表,封閉,顏色,寬度)
點坐標列表是一個numpy類型的列表,需要導入numpy 包
import numpy
創建點坐標: pts = numpy.array([[20,60],[300,280],[150,200]],numpy.int32)
cv2.rectange(image,[pts],True,(0,0,255),2)
5、添加文字
cv2.putText(畫布,文字,位置,字體,大小,顏色,文字粗細)
字體:
cv2.FONT_HERSHEY_SIMPLEX 正常尺寸的sans-serif字體
cv2.FONT_HERSHEY_SPLAIN 小尺寸的sans-serif字體
cv2.FONT_HERSHEY_COMPLEX 正常尺寸的serif字體
cv2.FONT_HERSHEY_SCREIPT_SIMPLEX 手寫字體風格
例如:
cv2.putText(image,'apple',(350,200),cv2.FONT_HERSHEY_SIMPLEX,1,(255,0,0),2)
import cv2 import numpy cv2.namedWindow("Image") #創建窗口 img = cv2.imread('ver.jpg') #讀取圖像 cv2.line(img,(50,50),(300,300),(255,0,0),2) #畫直線 cv2.rectangle(img,(500,20),(580,100),(0,255,0),-1) #畫矩形 cv2.circle(img,(500,300),40,(255,255,0),-1) #畫圓形 pts = numpy.array([[300,300],[300,340],[350,320]],numpy.int32) #用numpy形成坐標列表 cv2.polylines(img,[pts],True,(0,255,255),2) #畫多邊形 cv2.putText(img,'測試',(350,420),cv2.FONT_HERSHEY_SIMPLEX,1,(255,232,133),2) cv2.imshow('Image',img) cv2.waitKey(0) cv2.destroyWindow("Image") #關閉窗口
polylines