Python OpenCV - 删除标题栏,工具栏和状态栏

chi*_*n88 2 python opencv

我找到了关于C++的文档,但对python并不多.

在python中显示的基本代码是:

import numpy as np
import cv2

# Load an color image in grayscale
img = cv2.imread('messi.jpg',0)
cv2.imshow('image',img)
cv2.waitKey(0)
cv2.destroyAllWindows()
Run Code Online (Sandbox Code Playgroud)

要显示下面的图像.但是我该怎么做呢

在此输入图像描述

看起来像这样?

在此输入图像描述

我也想保持这个大小.所以我读过一些人说要"全屏".我认为可能有用的唯一方法是"全屏,但然后重新调整大小?不确定这是否是一个解决方案(也试图找出如何做到这一点......)我是OpenCV的新手).

chi*_*n88 5

又环顾四周:

使用这些标志是如何在 QT 后端中做到这一点。

CV_GUI_NORMAL or CV_GUI_EXPANDED: CV_GUI_NORMAL is the old way to draw the window without statusbar and toolbar, whereas CV_GUI_EXPANDED is a new enhanced GUI.

不幸的是,cv2.namedWindow('image', flags=cv2.CV_GUI_EXPANDED)不起作用,尽管我很确定我有 QT 后端(实际上我确信我有)。

查找后help(cv2),我发现了类似的标志WINDOW_GUI_EXPANDEDWINDOW_GUI_NORMAL。所以使用那些。

img = cv2.imread('messi.jpg',0)

# Removes toolbar and status bar
cv2.namedWindow('image', flags=cv2.WINDOW_GUI_NORMAL)

cv2.imshow('image',img)
cv2.waitKey(0)
cv2.destroyAllWindows()
Run Code Online (Sandbox Code Playgroud)

但在尝试删除标题栏时仍然遇到麻烦。


Ris*_*ani 5

cap2 = cv2.VideoCapture(0)
cap2.set(3,320)
cap2.set(4,200)

ret2, image2 = cap2.read()
cv2.imshow('frame2',image2)

cv2.namedWindow('frame2',cv2.WND_PROP_FULLSCREEN)
cv2.setWindowProperty('frame2', cv2.WND_PROP_FULLSCREEN, cv2.WINDOW_FULLSCREEN)
Run Code Online (Sandbox Code Playgroud)

我找到了一个技巧,就这么说

cv2.namedWindow('frame2',cv2.WND_PROP_FULLSCREEN)
cv2.setWindowProperty('frame2', cv2.WND_PROP_FULLSCREEN, cv2.WINDOW_FULLSCREEN)
Run Code Online (Sandbox Code Playgroud)

下面

cv2.imshow('frame2',image2)
Run Code Online (Sandbox Code Playgroud)

在这里,我们实际上正在做的是播放较小尺寸的完整视频.这就是没有标题栏和边框的原因.