【发布时间】:2022-01-22 16:09:11
【问题描述】:
我在 Internet 上找到了 this python code,用于计算使用 Open CV 库的人数。我需要在 Tkinter 窗口中打开使用 CV2 打开的窗口,然后添加设置命令。
这是来自 GitHub 的代码:https://github.com/Gupu25/PeopleCounter
如何在 Tkinter 窗口中打开两个 OpenCv 窗口?
【问题讨论】:
-
您可能需要将
NumPy数组(Python 中OpenCV 的图像对象)转换为tkinter 的图像对象(PhotoImage),然后在tkinter 窗口上显示此图像。您可以将PIL图像转换为PhotoImages,因此可能的转换链是从NumPy数组到PIL到PhotoImage。检查此链接:stackoverflow.com/questions/52459277/… -
"open inside of" 是不可能的,因为 OpenCV 的
imshow是它自己的 GUI。 -- 如上所述,您可以在 Tkinter 本身中显示数据/图像/数组。 -
我之前曾尝试插入一个带有按钮的额外 tkinter 窗口,但只要 tkinter 窗口保持打开状态,计算汽车的视频就不会开始。你能让它打开一个 tkinter 窗口进行设置并在后台让 CV2 窗口运行吗?
-
不。一次只运行一个 GUI 事件循环。不要尝试同时运行 tkinter 和 imshow。相反,听@stateMachine,使用 tkinter 标签,从 numpy 数组构造一个 PhotoImage,并将其粘贴在标签中。