python - 在 GUI 中嵌入窗口

标签 python opencv user-interface tkinter

我正在尝试构建一个做两件事的应用程序。

  • 从网络摄像头获取实时信息并使用 OpenCV 显示。 (试过IP Camera但放弃了,还是不行)
  • 根据视频输入绘制图表。

  • 网络摄像头源正在工作,我可以使用 imshow() 显示它和 namedWindow().
    我使用 制作的图表 Tkinter 。

    上面的两个输出,我想将它们添加到单个帧中。有可能这样做吗?

    我用什么将它们嵌入到单个窗口中?

    请注意我正在使用 Python 并在 Windows 上进行开发。

    最佳答案

    您可以使用 numpy 堆栈概念将两个或多个输出窗口组合成一个输出窗口。

    引用链接:-

    http://docs.scipy.org/doc/numpy/reference/generated/numpy.hstack.html
    http://docs.scipy.org/doc/numpy/reference/generated/numpy.vstack.html#numpy.vstack

    示例代码:-

    import cv2
    import numpy as np
    
    img1 = cv2.imread('Bird1.jpg')
    img2 = cv2.imread('Bird2.jpg')
    
    img_stack = np.hstack((img1,img2))
    
    cv2.imshow('Image Stack',img_stack)
    cv2.waitKey(0)
    cv2.destroyAllWindows()
    

    笔记:-

    您可以将任意数量的输出窗口组合成一个。去做这个,
    输入图像的高度、宽度和 channel 必须相同。

    channel 意味着,如果图像处于 RGB 模式,则意味着所有图像都应处于 RGB 模式。

    您不能将一张 RGB 模式图像和一张灰度模式图像组合到一个窗口中。

    像图像一样,您也可以堆叠视频。

    关于python - 在 GUI 中嵌入窗口,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21906382/

    相关文章:

    python - 使用 python-firebase 查询 Firebase

    opencv - 用opencv突出地板上白色胶带的图像处理技巧

    windows - Windows 和 Linux 上的 GUI 应用程序

    android - 使用阴影层绘画 - 如何更改 alpha

    python - 将 Bash 变量读入 Python 脚本

    python - os.environ ['PYTHONHASHSEED' ] 可以从应用程序中动态设置吗?

    python - 如何调整图像大小并保持纵横比

    java - 在 OpenCV Java 中实现卡尔曼滤波器

    django - django admin中的备用用户选择界面,以减少大型站点上的页面大小?

    python - 如何使用 python 抓取处理 '403 Forbidden' 响应?