当你等待cv2.waitKey(0)
的按键时,这个python脚本可以工作,但是当我想用time.sleep(0.1)
而不是cv2.waitKey(0)
制作一个平滑的动画时,它就不行了。然后它会显示一个光标符号,表明系统卡住了。为什么会这样?
import cv2
import random
import numpy as np
originalImg = cv2.imread('assets/fluf.jpg', cv2.IMREAD_UNCHANGED)
img = np.copy(originalImg)
index = 0
while True:
index += 1
smallPartImg = originalImg[500:700,index:index+200]
img[0:200,0:200] = smallPartImg
cv2.imshow('image',img)
cv2.waitKey(0)
2条答案
按热度按时间zi8p0yeb1#
你应该把waitKey()的数值改变为不等于0的值。无论这个数值多高,转换速度都会降低。
px9o7tmv2#
只是将评论复制到一个答案中(谢谢**@Micka**!),以便稍后为任何人完成此操作
使用waitKey(1)。OpenCV需要waitKey命令来执行窗口渲染
问题是
waitKey(0)永远等待直到按键被按下。waitKey(1)等待1 ms或直到按键被按下。两者都执行所有先前imshow调用的屏幕渲染。time.sleep不执行opencv窗口渲染。