【问题标题】:Ball/circle shape tracking in video or live feed with OpenCV (Python)使用 OpenCV (Python) 在视频或实时提要中跟踪球/圆形形状
【发布时间】:2016-01-27 13:39:15
【问题描述】:

作为学校的一项任务,我们小组必须创建一个知道何时进球的应用程序。这意味着一个球形物体通过了一条线。

首先我们尝试输入视频,让 OpenCV 跟踪球,然后将其作为视频输出。

我已经把一堆我在 StackOverflow 上找到的其他代码 sn-ps 放在一起,但它不起作用。

我正在创建一个新帖子,因为所有其他相关线程要么是 C++,要么使用颜色检测而不是我们使用的形状检测。当视频文件变成一系列图像时,我也找不到输出视频文件的明确答案。

以下是我目前的代码:

import cv2
import numpy as np

cap = cv2.VideoCapture('bal.mp4')


fourcc = cv2.VideoWriter_fourcc(*'XVID')
out = cv2.VideoWriter('output1.avi',fourcc, 20.0, (640,480))

while(1):

    # Take each frame
    ret, frame = cap.read()
    if ret == True:
        if ret == 0:
            break


        frame = cv2.medianBlur(frame,5)
        cimg = cv2.cvtColor(frame,cv2.COLOR_BGR2GRAY)
        circles = cv2.HoughCircles(cimg,3,1,20,param1=50,param2=30,minRadi$
        if circles == None:
            print "NoneType"
            break
        circles = np.uint16(np.around(circles.astype(np.double),3))

        for i in circles[0,:]:
            # draw the outer circle
            cv2.circle(cimg,(i[0],i[1]),i[2],(0,255,0),2)
            # draw the center of the circle
            cv2.circle(cimg,(i[0],i[1]),2,(0,0,255),3)

        cv2.imwrite('test.jpg',cimg)
        out.write(cimg)

    if cv2.waitKey(1) & 0xFF == ord('q'):
        break


cap.release()
out.release()
cv2.destroyAllWindows()

我们得到工作图像,但视频无法使用 VLC 或任何其他媒体播放器播放。

这是程序中的一张图片:

这个问题现在正在把它变成一个可播放的视频。

提前致谢。

【问题讨论】:

  • 这个帖子你红了吗:stackoverflow.com/questions/19387608/…
  • 我不知道如何实现。
  • 我说的是你的错误。这篇文章解释了关于这个错误的一些事情。
  • 我的意思是,我们没有人对 numpy 有足够的了解,无法知道其中发生了什么。 numpy 部分取自另一个项目。
  • 试试这个:np.around(circles.astype(np.double),3) 我认为你应该在问之前学习和阅读你的工具。如果您想学习如何编程,复制粘贴不是要走的路

标签: python opencv video shape


【解决方案1】:

不确定您最终是否可以使用它,但是将其更改为 mp4 在我的 mac 上对我有用

frame_width = int(cap.get(3))
frame_height = int(cap.get(4))
out = cv2.VideoWriter('static/video/outpy.mp4', 0x7634706d, 20, (frame_width, frame_height))

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-06-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-06-26
    相关资源
    最近更新 更多