如何处理 "drag and drop a file" 事件到 cv2.imshow() window

How to handle "drag and drop a file" event to cv2.imshow() window

我想将图像文件拖放到 cv2.imshow() window 并获取文件名路径。

没有名为拖放的事件,我需要一些帮助。

在我的项目中,我删除了背景图片,我想用任何图片更改背景。

我做了最难的部分(删除背景),但我不知道如何处理 OpenCV 中的 drag/drop 文件事件 python。

def mouse_events(event, x,y, flags,param):
    if event == cv2.EVENT_??: # ?? drag/drop a file event
        # return the filename

while True:
   ...
   cv2.setMouseCallback(windowName, mouse_events)
   ...

提前致谢

正如@Christoph Rackwitz 所指出的,您不能单独使用 OpenCV 来完成此操作。您必须使用一些 GUI 编程接口,例如 PyQt5pyside.

This question 演示文件资源管理器的拖放功能。

看看这个 tutorial 与 OpenCV 的集成