以全屏方式显示图像,但尺寸较小。从后端,我们选择图像尺寸,并且我们必须显示该图像而没有任何标题栏和边框。仅图像会出现。我尝试了很多方法,但没有成功。有什么办法吗?如果有人知道的话,请帮忙,我从很多天以来一直陷入困境
操作系统:Raspberry PI 语言使用:Python 3
答案 0 :(得分:0)
使用OpenOpenGL或Qt在HighGUI模块中实现在OpenCV中显示图像的Windows。您可以修改显示给用户的内容(还取决于系统),但是我认为您尝试实现的功能在OpenCV中是不可能的。
Here是在OpenCV中创建新窗口/小部件时可以使用的所有标志的列表。
不幸的是,没有像全屏模式那样隐藏标题栏的标志。为什么?对于OpenCV用户而言并不重要。他们使用imshow
只是为了查看结果,主要是出于调试目的,因此他们不需要删除标题栏。
您能做什么?将程序与Qt框架链接,并直接使用Qt显示图像,而不是通过包装器显示图像。 This可能会有所帮助。
答案 1 :(得分:0)
借助tkinter窗口/框架,我们可以显示没有边框和标题栏的图像或视频。我们要做的是使tkinter窗口透明。 我将代码放在下面,该代码显示不带任何大小的边框和标题栏的网络摄像头视频。
import numpy as np
import cv2
from tkinter import *
#import tkinter as tk
from PIL import Image, ImageTk
import sys
window = Tk() #Makes main window
window.overrideredirect(True)
window.wm_attributes("-topmost", True)
window.geometry("+600+200")
display1 = Label(window)
display1.grid(row=1, column=0, padx=0, pady=0) #Display 1
cap = cv2.VideoCapture(0)
def show_frame():
_, frame = cap.read()
frame = cv2.resize(frame, (400,400))
#frame = cv2.flip(frame, 1)
cv2image = cv2.cvtColor(frame, cv2.COLOR_BGR2RGBA)
img = Image.fromarray(cv2image)
imgtk = ImageTk.PhotoImage(master = display1, image=img)
display1.imgtk = imgtk #Shows frame for display 1
display1.configure(image=imgtk)
window.after(10, show_frame)
show_frame()
window.mainloop()
frame = cv2.resize(frame, (400,400)) this is use to resize our frame.