OpenCV-Python Tutorials
https://opencv-python-tutroals.readthedocs.io/en/latest/py_tutorials/py_tutorials.html
绘图操作
Drawing Functions in OpenCV
主要函数
cv2.line()
cv2.circle()
cv2.rectangle()
cv2.ellipse()
cv2.putText()
上述函数的共同参数:
- img:画板, 在哪副图像上绘制图形
- color:所画图形的颜色,BRG模式,需要传入一个元组,例(255,0,0)表示蓝色,对于灰度图只需传入灰度值即可
- thickness:线条的粗细,如果该值为-1,那么代表是闭合图形,即该图形被填充。默认值为1
- linetype:线条的类型,生成线条的方式,8-connected、抗锯齿等;默认值是 8-connected。
cv2.LINE_AA
可以让曲线获得抗锯齿的效果,从而使曲线更加平滑。
1. Drawing Line(画线)
要画一条直线,需要传递直线起始点的坐标。
在一张黑色的图片上画一条从左上角到右下角的蓝色对角线。
import numpy as np
import cv2
#创建一个黑色背景
img = np.zeros((512,512,3),np.uint8)
#画一条宽度为5个像素,颜色为蓝色的对角线
cv2.line(img,(0,0),(511,511),(255,0,0),5)
#创建窗口,显示图形
cv2.namedWindow('image',cv2.WINDOW_NORMAL)
#cv2.resizeWindow('image',500,500)#定义画布的大小
cv2.imshow('image',img)
#任意敲击键盘,关闭窗口
cv2.waitKey(0)
cv2.destroyAllWindows()
说明:numpy.zeros()
函数——创建一维或多维数组,第一个参数表示一个元组(高,宽,通道数),第二个参数设置数组元素类型。
2. Drawing Rectangle(画长方形)
要画一个长方形,需要传递它的左上角与右下角顶点的坐。
在背景的右上角画一个绿色的长方形。
cv2.rectangle(img,