OpenCV видео - начало свернуто - PullRequest
0 голосов
/ 07 мая 2018

Так что мой код работает отлично, только один раз. Я хочу, чтобы видео запускалось на втором мониторе (в настоящее время удален из кода), в то время как основной монитор запускает приложение в полноэкранном режиме. Проблема в том, что когда видео 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()
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...