我正在用这段代码播放视频:
class Player(threading.Thread):
def __init__(self, video):
threading.Thread.__init__(self)
self.config = Conf.Conf()
self.video = video
self.cap = cv2.VideoCapture(video)
self.frameTitle = self.config.SOFTWARE_TITLE + self.config.VERSION
def run(self):
while(self.cap.isOpened()):
ret, frame = self.cap.read()
if ret:
cv2.namedWindow(self.frameTitle, cv2.WND_PROP_FULLSCREEN)
cv2.setWindowProperty(self.frameTitle, cv2.WND_PROP_FULLSCREEN, cv2.WINDOW_FULLSCREEN)
cv2.imshow(self.frameTitle, frame)
if cv2.waitKey(10) & 0xFF == ord('q'):
self.Stop()
self.ClosePlayer()
else:
self.cap.set(cv2.CAP_PROP_POS_FRAMES, 0)
def Stop(self):
self.cap.release()
def ClosePlayer(self):
cv2.destroyAllWindows()
现在,我的问题是视频质量下降,看起来光滑的形状会出现锯齿现象。如下所示:
此代码适用于使用Python 2.7(32位)和cv2版本3.4.0的Win10计算机。
编辑:如果我在VLC或Windows Media Player上播放视频,我可以正确观看视频。
我正在使用的视频上的信息。