openCV Python基础--图形绘制
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了openCV Python基础--图形绘制,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含2264字,纯文字阅读大概需要4分钟。
内容图文
![openCV Python基础--图形绘制](/upload/InfoBanner/zyjiaocheng/612/9f2d25f26de946bb8ae86c385052e73e.jpg)
- 直线绘制:line()
参数声明:
InputOutputArray img:输出图像
Point pt1:线段的第一个点
Point pt2:线段的第二个点
const Scalar& color:直线颜色
int thickness = 1:直线粗细程度
int lineType = LINE_8:直线类型
int shift = 0:点坐标的小数点位数 - 矩形绘制:rectangle()
参数声明:
CV_IN_OUT Mat& img:输出图像
Rect rec: 矩形的位置和长宽
const Scalar& color:矩形颜色
int thickness = 1:线宽
int lineType = LINE_8:直线类型
shit:点坐标的小数点位数 - 圆形绘制:circle()
参数声明:
img: 图像
center: 圆心
radius :半径
color: 颜色
thickness: 线宽
linetype: 线型
shift: 坐标点的小数点位数 - 椭圆绘制:ellipse()
参数声明:
img: 图像
center: 椭圆原心
axes: 椭圆x轴长度的一半,y轴长度的一半
angle: 椭圆旋转角度
startAngle: 起始角度
endAngle: 终止角度
color: 椭圆颜色
thickness: 线宽
linetype: 线型
shift: 坐标小数点位数
代码:
# 图形绘制
def draw_graphics():
src = np.zeros([500, 500, 3], dtype=np.uint8)
cv.imshow("input", src)
cv.line(src, (10, 10), (490, 490), (255, 0, 0), 4, cv.LINE_8, 0)
cv.line(src, (490, 10), (10, 490), (0, 0, 255), 4, cv.LINE_8, 0)
cv.rectangle(src, (100, 100), (400, 400), (0, 255, 0), 4, cv.LINE_8, 0)
cv.circle(src, (250, 250), 150, (0, 0, 255), 4, cv.LINE_8, 0)
cv.ellipse(src, (250, 250), (150, 50), 360, 0, 360, (255, 0, 0), 4, cv.LINE_8, 0)
cv.putText(src, "Hello OpenCV", (50, 50), cv.FONT_HERSHEY_PLAIN, 1.2, (0, 0, 255), 2, cv.LINE_8)
cv.imshow("output", src)
# 绘制多边形
src2 = np.zeros([500, 500, 3], dtype=np.uint8)
cv.rectangle(src2, (100, 100), (400, 400), (0, 255, 0), -1, cv.LINE_8, 0)
# Thickness=-1时,默认填充
points = []
points.append((100, 100))
points.append((150, 50))
points.append((200, 100))
points.append((200, 300))
points.append((100, 300))
index = 0
for point in points:
cv.line(src2, point, points[(index + 1) % 5], (0, 0, 255), 4, cv.LINE_8, 0)
index += 1
cv.imshow("src2", src2)
# 随机绘制直线
src3 = np.zeros([600, 600, 3], dtype=np.uint8)
for i in range(100000):
x1 = np.random.rand() * 600
y1 = np.random.rand() * 600
x2 = np.random.rand() * 600
y2 = np.random.rand() * 600
b = np.random.randint(0, 256)
g = np.random.randint(0, 256)
r = np.random.randint(0, 256)
cv.line(src3, (np.int(x1), np.int(y1)), (np.int(x2), np.int(y2)), (b, g, r), 4, cv.LINE_8, 0)
cv.imshow("src3", src3)
c = cv.waitKey(20)
if c == 27:
break
参考链接:openCV图形绘制
内容总结
以上是互联网集市为您收集整理的openCV Python基础--图形绘制全部内容,希望文章能够帮你解决openCV Python基础--图形绘制所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。