欢迎关注,敬请点赞!
OpenCV 中的绘图函数
【绘图函数】
cv2.line(),cv2.circle(),cv2.rectangle(), cv2.ellipse(),cv2.polylines(),cv2.putText() 等。
【参数】
- img:你想要绘制图形的那幅图像。
- color:形状的颜色。以RGB为例,需要传入一个元组,例如:(255, 0, 0) 代表蓝色;对于灰度图只需要传入灰度值。
- thickness:线条的粗细。如果给一个闭合图形设置为 -1,那么这个图形就会被填充,默认值是 1。
- linetype:线条的类型, 8连接,抗锯齿等;默认情况是8连接;cv2.LINE_AA 为抗锯齿,这样看起来会非常平滑。
- shift:坐标的小数点位数。
- cv2.waitKey():顾名思义等待键盘输入,单位为毫秒,即等待指定的毫秒数看是否有键盘输入,若在等待时间内按下任意键,则返回按键的ASCII码,程序继续运行;若没有按下任何键,超时后返回-1;参数为0表示无限等待;不调用waitKey的话,窗口会一闪而逝,看不到显示的图片。
画线
返回顶部
要画一条线,你只需要告诉函数这条线的起点和终点。
我们下面会画一条【从左上方到右下角的红色线段】。
line(img, pt1, pt2, color, thickness=None, lineType=None, shift=None)
import numpy as np
import cv2
# 画布
canvas = np.zeros((512, 512, 3), np.uint8)
# 画直线
line = cv2.line(canvas, (0, 0), (511, 511), (0, 0, 255), 5, shift=0)
cv2.imshow("line", line)
cv2.waitKey(0)
当shift=0时:
当shift=5时:
画矩形
返回顶部
要画一个矩形,你需要告诉函数的左上角顶点和右下角顶点的坐标。
这次,我们会在图像的右上角画一个绿色的矩形。
rectangle(img, pt1, pt2, color, thickness=None, lineType=None, shift=None)
import numpy as np
import cv2
canvas = np.zeros((512, 512, 3), np.uint8)
# 画矩形
rect = cv2.rectangle(canvas, (384, 0), (510, 128), (0, 255, 0), 3)
cv2.imshow("rect", rect)
cv2.waitKey(0)
写文字
返回顶部
putText(img, text, org, fontFace, fontScale, color, thickness=None, lineType=None, bottomLeftOrigin=None)
- 要绘制的文字
- 要绘制的位置
- 字体类型【通过查看 cv2.putText() 的文档找到支持的字体】
- 字体的大小
- 文字的一般属性如颜色,粗细,线条的类型等【为了更好看一点推荐使用 linetype=cv2.LINE_AA】
import numpy as np
import cv2
canvas = np.zeros((512, 512, 3), np.uint8)
rect = cv2.rectangle(canvas, (384, 0), (510, 128), (0, 255, 0), 3)
# 写文字
cv2.put