大家好,又见面了,我是全栈君。
今天的课程比较轻松,我们来学习一下OpenCV中几个绘图函数:
直接经过前面两节的内容。我想直接上代码应该是可以接受的。创建一个Python脚本,取名draw.py
# 导入库 import numpy as np import cv2 # 初始化一块400*600的画布(相当于生成一个numpy数组,也就是一幅图像),注意这里的画布是三通道的,也就是彩色图像 canvas = np.zeros((400, 600, 3), dtype="uint8") # 画一条绿线 green = (0, 255, 0) # 起点(0, 0)至终点(600, 400),颜色绿色。PS.这里有一个默认参数,线宽默认为1个像素 cv2.line(canvas, (0, 0), (600, 400), green) cv2.imshow("Canvas", canvas) cv2.waitKey(0) # 画一条红线 red = (0, 0, 255) # 起点(600, 0)至终点(0, 400),颜色红色。线宽指定为3个像素 cv2.line(canvas, (600, 0), (0, 400), red, 3) cv2.imshow("Canvas", canvas) cv2.waitKey(0) 在上面的代码后面,接着增加如下代码:
# 在坐标(10,10)画一个50*50大小的,绿色的矩形,线宽使用默认值1(像素) cv2.rectangle(canvas, (100, 100), (150, 150), green) cv2.imshow("Canvas", canvas) cv2.waitKey(0) # 用5个像素的线宽再画一个红色矩形,线宽为5 cv2.rectangle(canvas, (150, 200), (250, 225), red, 5) cv2.imshow("Canvas", canvas) cv2.waitKey(0) # 画一个填充矩形 blue = (255, 0, 0) # 画一个蓝色矩形,线宽为-1(-1表示填充) cv2.rectangle(canvas, (300, 50), (325, 125), blue, -1) cv2.imshow("Canvas", canvas) cv2.waitKey(0)继续追加代码如下:
# 白色可以用BGR三通道都是255来表示 white = (255, 255, 255) # 在(300,300)处画一个圆,半径50,线宽为3 cv2.circle(canvas, (300, 300), 50, white) # 我们可以组一个自己的颜色,比如: color = (255, 0, 255) # 在(500,200)处画一个圆,半径40,线宽为3 cv2.circle(canvas, (500, 200), 40, color, -1) cv2.imshow("Canvas", canvas) cv2.waitKey(0)我们学会了使用cv2.line、cv2.rectangle、cv2.circle三个函数。要注意的事项,再在这里重复一下:
发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/108484.html原文链接:https://javaforall.cn