我一直在TkinterGUI上工作,而且是新手。现在我想使用Opencv显示一个图像,在一个单独的窗口中单击按钮,因此首先我使用askopenfilename()获取图像路径,然后将该值传递给cv2。下面是imread()代码。
openpath = filedialog.askopenfilename()
if openpath:
image = cv2.imread(openpath)
cv2.imshow("slot", image)
cv2.waitKey(0)
cv2.destroyWindow("slot")
图像显示在一个新窗口中,但当我试图关闭它时,Tkinter应用程序也会关闭。我需要在图像上执行一些任务,然后在不影响Tkinter应用程序的情况下按键关闭它。它可以用线程来完成。如果是,我该怎么做?请导游谢谢
这个代码片段是一个工作。它在画布TKinter中打开图像。
def __init__(self, parent):
self.parent = parent
self.create_frame()
def create_frame(self):
global image
cv_frame = Frame(self.parent)
cv_frame.pack()
imagepath = load_image()
image = Image.open(imagepath)
image = image.resize((1072, 650), Image.ANTIALIAS)
tkpi = ImageTk.PhotoImage(image)
canvas = Canvas(cv_frame, width=tkpi.width(), height=tkpi.height())
canvas.pack(side="top", fill="both", expand=True)
canvas.create_image(0, 0, anchor="nw", image=tkpi)
canvas.bind("<Button-1>", self.pressdown) ##binding for left button when its pressed
canvas.bind("<ButtonRelease-1>", self.pressup) ##binding for left button when its released
canvas.bind("<Double-Button-3>", self.reset) ##binding for right button double click will reset the drawn lines
canvas.image = tkpi
canvas.pack()
frame = Frame(cv_frame)
frame.pack()
crop = Button(frame, text="Crop", width=6, command=self.crop)
crop.pack(side=LEFT)
save = Button(frame, text="Save", width=6, command=self.save)
save.pack(side=LEFT)
def pressdown(self, event): ##event handler for left button when button is pressed
coords.append(event.x)
coords.append(event.y)
allpoints.append((event.x, event.y))
def pressup(self, event): ##event handler for left button when released
cord.append(event.x)
cord.append(event.y)
allpoints.append((event.x, event.y))
event.widget.create_line(coords[0], coords[1], cord[0], cord[1], fill="green", width=4, dash=(4, 4), tag="line")
我试图从docker容器中使用OpenCV imshow GUI。我使用nvidia-docker启动容器,因为该容器包含GPU版本的Tensorflow 我试图显示的图像是使用MatplotLib显示的。我该如何纠正这一点呢?谢谢
正如标题所示,我正在尝试创建一个有几个按钮的程序,每个按钮在单击时都会显示一张图片。但是,我想知道,如果不使用此处所示的graphic类,也不使容器全球化,这是否可能。我尝试了这个,但是,我的程序似乎没有将图像添加到我的面板中。 代码如下:
这里我们使用工具为Python2.7,使用库numpy,opencv,从图片的导入到显示及保存,同时将图片变为灰度图 1、读入图像 cv2.imread(文件名,标记) 第一个参数图像应该在工作目录中,或者应该给出完整的图像路径。 第二个参数是一个标志,指定应读取图像的方式。 cv2.IMREAD_COLOR:加载彩色图像。任何形象的透明度将被忽略。这是默认的标志。 cv2.IMREAD_GRAY
我试图在一个特定的坐标上显示一个图像在另一个图像上。我已经使用网络摄像头检测到aruco标记,我想在aruco标记上显示另一张图像。aruco标记可以移动,覆盖图像应该随着标记移动。 有各种绘图功能和将文本输入到图像中。我尝试过图像叠加和图像单应性。 我可以得到拐角的坐标。有没有在这些坐标处插入图像的功能?
在我的angular应用程序中,我正在尝试添加功能,当我单击Windows图像时,一个新的对话框窗口将显示3个单选按钮。我需要帮助来添加此功能 这是stackblitz链接 链接-https://stackblitz.com/edit/angular-yvinp9?file=src/app/app.component.ts
问题内容: 我目前正在尝试为 多处理OpenCV视频* 流开发 GUI 。下面的代码确实成功执行了此操作,因为它显示了视频供稿和一个“退出”按钮,但是运行方式很奇怪: * 该程序 在退出时* (通过单击或通过单击关闭窗口)在(我正在使用Windows)中引发 运行时错误 ,表示程序“要求运行时以异常方式终止” * 关于如何解决该问题的任何想法将不胜感激! 我的代码: 配置:Windows 7 Ho