opencv画运动小球 python
时间: 2023-10-16 10:08:04 浏览: 123
以下是一个简单的 Python 代码,使用 OpenCV 库来生成一个运动的小球。在程序中,我们使用了一个简单的物理模型来计算球的运动轨迹,并使用 OpenCV 库中的函数来绘制球体。
```
import cv2
import numpy as np
# 定义球的初始位置和速度
x, y = 50, 50
vx, vy = 5, 5
# 定义球的半径和颜色
radius = 15
color = (0, 255, 0)
# 获取摄像头
cap = cv2.VideoCapture(0)
while True:
# 读取摄像头帧
ret, frame = cap.read()
# 计算球的下一个位置
x += vx
y += vy
# 如果球碰到了边界,反弹回来
if x < radius or x > frame.shape[1] - radius:
vx = -vx
if y < radius or y > frame.shape[0] - radius:
vy = -vy
# 绘制球
cv2.circle(frame, (x, y), radius, color, -1)
# 显示帧
cv2.imshow('frame', frame)
# 按下 q 键退出
if cv2.waitKey(1) & 0xFF == ord('q'):
break
# 释放摄像头并关闭窗口
cap.release()
cv2.destroyAllWindows()
```
在程序中,我们首先定义了球的初始位置和速度。然后,我们使用 `cv2.VideoCapture` 函数获取摄像头,并在一个 while 循环中不断读取摄像头的帧。在每个循环中,我们计算球的下一个位置,并使用 `cv2.circle` 函数绘制球体。最后,我们使用 `cv2.imshow` 函数显示帧,并等待用户按下 q 键退出程序。
注意,该程序仅使用了摄像头来显示运动小球,实际上我们也可以将其保存为视频文件,或者将其作为视频流输出到网络中。
阅读全文