OpenCV 中的绘图函数
6
目标
• 学习使用 OpenCV 绘制不同几何图形
• 你将会学习到这些函数: cv2.line(), cv2.circle(), cv2.rectangle(),
cv2.ellipse(),cv2.putText() 等。
代码
上面所有的这些绘图函数需要设置下面这些参数:
• img:你想要绘制图形的那幅图像。
• color:形状的颜色。以 RGB 为例,需要传入一个元组,例如:(255,0,0)代表蓝色。对于灰度图只需要传入灰度值。
• thickness:线条的粗细。如果给一个闭合图形设置为 -1,那么这个图形
就会被填充。默认值是 1.
• linetype:线条的类型, 8 连接,抗锯齿等。默认情况是 8 连接。 cv2.LINE_AA
6
目标
• 学习使用 OpenCV 绘制不同几何图形
• 你将会学习到这些函数: cv2.line(), cv2.circle(), cv2.rectangle(),
cv2.ellipse(),cv2.putText() 等。
代码
上面所有的这些绘图函数需要设置下面这些参数:
• img:你想要绘制图形的那幅图像。
• color:形状的颜色。以 RGB 为例,需要传入一个元组,例如:(255,0,0)代表蓝色。对于灰度图只需要传入灰度值。
• thickness:线条的粗细。如果给一个闭合图形设置为 -1,那么这个图形
就会被填充。默认值是 1.
• linetype:线条的类型, 8 连接,抗锯齿等。默认情况是 8 连接。 cv2.LINE_AA
为抗锯齿,这样看起来会非常平滑。
import numpy as np import cv2 img=np.zeros((512,512,3),np.uint8) #生成一个空的彩色图像 cv2.line(img,(0,0),(200,200),(255,0,0),5) cv2.rectangle(img,(384,0),(510,128),(0,255,0),3) cv2.circle(img,(447,63),63,(0,0,255),-1) cv2.ellipse(img,(256,256),(100,5),0,0,180,255,-1) pts=np.array([[10,5],[20,30],[70,20],[50,10]],np.int32) pts=pts.reshape((-1,1,2)) font=cv2.FONT_HERSHEY_SIMPLEX cv2.putText(img,'Opencv',(10,500),font,4,(255,255,255),2) winname='example' cv2.namedWindow(winname) cv2.imshow(winname,img) cv2.waitKey(0) cv2.destroyAllWindows(winname)