小编Gen*_*tem的帖子

如何使用openCV在Python中提高视频播放速度

我正在编写一个程序,在遇到栏杆的第一个像素的视频上画一条线,我的问题是视频播放缓慢。

在此处输入图片说明 屏幕截图,供您参考视频的外观。在录像过程中,摄像机移近了,但由于速度慢,我不得不等待几分钟才能看到变化,但是在拍摄时,摄像机每隔几秒钟就移动一次。

我认为问题是for循环在视频的每一帧上都起作用,但我不确定。

我可以采用什么解决方案来加快程序执行速度?

import cv2

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

while(cap.isOpened()):

    ret, frame = cap.read()
    canny = cv2.Canny(frame, 85, 255)
    height, width = canny.shape

    first_black_array = []

    for x in range(width):
        first_black_pixel_found = 0
        for y in range(height):
            if first_black_pixel_found == 0:
                if canny[y,x] == 255:
                    first_black_array.append(height - y)
                    first_black_pixel_found = 1
                    cv2.line(frame,(x,y),(x,y),(0,255,0),1)

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

cap.release()
cv2.destroyAllWindows()
Run Code Online (Sandbox Code Playgroud)

谢谢!

python performance opencv video-capture

5
推荐指数
1
解决办法
579
查看次数

标签 统计

opencv ×1

performance ×1

python ×1

video-capture ×1