gpt4 book ai didi

python - 不同屏幕上的 cv2.imshow()

转载 作者:太空狗 更新时间:2023-10-29 11:15:11 26 4
gpt4 key购买 nike

在使用 OpenCV 的 Python 脚本中,我想在不同的屏幕/显示器上打开命名窗口。

我在 Linux 上,X 设置为有两个显示器。我可以通过将环境变量 DISPLAY 分别设置为 :0.0:0.1 来控制默认打开哪个名为 windows 的显示器。但是,我想做的是在 :0.0 上打开一个命名窗口,在 :0.1 上打开一个命名窗口,并且能够连续更新每个窗口。

我找到了 Xlib,它可以让我查询例如哪个是默认屏幕,但我无法更改它。此外,我可以更新环境变量,执行类似 os.environ['DISPLAY'] = ':0.0' 的操作,但不出所料,这对之后打开的窗口没有任何影响。

最佳答案

使用 multiprocessing.Process 似乎可以解决问题。以下将在 :0.0:0.1 显示器上显示图片:

import os
import time
from multiprocessing import Process
import cv2

def f(display):
os.environ['DISPLAY'] = display
print(os.environ['DISPLAY'])
a = cv2.imread('avatar.png')
cv2.imshow('window on %s'%display, a)
cv2.waitKey(1000)
time.sleep(10)

Process(target=f, args=(':0.0',)).start()
Process(target=f, args=(':0.1',)).start()

关于python - 不同屏幕上的 cv2.imshow(),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16301009/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com