OpenCV окно всегда сверху - PullRequest
3 голосов
/ 11 мая 2011

Есть ли способ установить окно OpenCV, чтобы оно всегда было сверху? И я могу удалить кнопку свертывания и закрытия из моего окна? Спасибо.

Ответы [ 3 ]

6 голосов
/ 19 мая 2011

Вы можете использовать: cvGetWindowHandle () получить обработчик вдов. Затем с помощью обычного Windows API вы можете делать все что угодно

0 голосов
/ 27 марта 2019

Я обнаружил, что все, что мне нужно было сделать, это установить главное окно в полноэкранный режим, а затем вернуться в обычный режим.

    #!/usr/bin/env python
    import cv2
    import numpy

    WindowName="Main View"
    view_window = cv2.namedWindow(WindowName,cv2.WINDOW_NORMAL)

    # These two lines will force your "Main View" window to be on top with focus.
    cv2.setWindowProperty(WindowName,cv2.WND_PROP_FULLSCREEN,cv2.WINDOW_FULLSCREEN)
    cv2.setWindowProperty(WindowName,cv2.WND_PROP_FULLSCREEN,cv2.WINDOW_NORMAL)

    # The rest of this does not matter. This would be the rest of your program.
    # This just shows an image so that you can see that this example works.
    img = numpy.zeros((400,400,3), numpy.uint8)
    for x in range(0,401,100):
        for y in range(0,401,100):
            cv2.line(img,(x,0),(0,y),(128,128,254),1)
            cv2.line(img,(x,399),(0,y),(254,128,128),1)
            cv2.line(img,(399,y),(x,399),(128,254,128),1)
            cv2.line(img,(399,y),(x,0),(254,254,254),1)
    cv2.imshow(WindowName, img)
    cv2.waitKey(0)
    cv2.destroyWindow(WindowName)
0 голосов
/ 05 января 2019

Я нашел лучшее решение, опубликованное в комментариях здесь: Открытое окно Python OpenCV поверх других приложений

Просто добавьте команду ниже после открытия окна, например,

cv2.namedWindow('img_file_name', cv2.WINDOW_NORMAL) # Creates a window
os.system('''/usr/bin/osascript -e 'tell app "Finder" to set frontmost of process "python" to true' ''') # To make window active

Используйте "python" в нижнем регистре. Использование «Python», как я нашел в некоторых ответах, привело к ошибке:

21:62: execution error: Finder got an error: Can’t set process "Python" to true. (-10006))
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...