opencv - OpenCV 视频 - 开始最小化
问题描述
所以我的代码完美运行只有一个小问题。我希望视频在第二台显示器上运行(目前已从代码中删除),而主显示器则全屏运行应用程序。问题是当 opencv 视频打开时,它会最小化主屏幕应用程序。我尝试了 cv,namedWindow 并没有运气调整大小。有什么建议么?
只需要主显示器应用程序保持全屏,而视频在辅助设备上运行。快把我逼疯了。
谢谢
import os
from os import path
import glob
import numpy as np
import cv2
import time
from watchdog.observers import Observer
from watchdog.events import FileSystemEventHandler
class Watcher:
DIRECTORY_TO_WATCH = 'PATH'
def __init__(self):
self.observer = Observer()
def run(self):
event_handler = Handler()
self.observer.schedule(event_handler, self.DIRECTORY_TO_WATCH, recursive=True)
self.observer.start()
try:
while True:
except:
self.observer.stop()
self.observer.join()
class Handler(FileSystemEventHandler):
@staticmethod
def on_any_event(event):
if event.is_directory:
return None
elif event.event_type == 'created':
os.chdir("PATH")
newest = max(glob.glob("PATH/*.mp4"), key=os.path.getctime)
cap = cv2.VideoCapture(newest)
cap.set(1,1420);
def rescale_frame(frame, percent=25):
width = int(frame.shape[1] * percent/ 100)
height = int(frame.shape[0] * percent/ 100)
dim = (width, height)
return cv2.resize(frame, dim, interpolation =cv2.INTER_AREA)
while True:
ret ,frame = cap.read()
if type(frame) == type(None):
break
frame25 = rescale_frame(frame, percent=25)
cv2.namedWindow('frame25',cv2.WINDOW_NORMAL)
cv2.imshow('frame25',frame25)
if cv2.waitKey(1) & 0xFF == ord('q'):
break
cap.release()
cv2.destroyAllWindows()
if __name__ == '__main__':
w = Watcher()
w.run()
解决方案
推荐阅读
- json - 您如何将原子部分嵌入到模板数据对象中
- javascript - 奇怪的错误类型错误:无法在 onSuccessMapUnitFields 读取属性“setValue”的 null
- javascript - 如何在Javascript中从我现有的对象创建一个新对象
- html - 悬停不适用于所有 img 元素
- mysql - MySQL 使用 select 和 join 插入 post_meta - 我做错了什么?
- c# - C# Setup Project 任务栏搜索图标设置为默认值,而所有其他图标均正确显示
- user-interface - 将 Object[] 方法添加到 main()
- c# - C# Response.OutputStream 损坏下载的文件
- c# - 在 Visual Studio 中,我的方法名称是蓝色而不是白色
- sql-server - 如何关联我的 2 个查询?