python - 跨类的不同方法管理 python OpenCV 窗口
问题描述
我尝试为小型 python 应用程序创建的 OpenCV GUI 遇到了一些问题。GUI 旨在显示图像,创建一组切换条来调整将在图像处理算法中使用的一些阈值,并在原始图像旁边显示转换后的图像。
我的想法是通过 python 类管理 GUI,并将不同的阈值/参数存储在类属性中。我有一个方法可以创建我在init方法中调用的窗口,然后是其他几个方法(例如 one_step() 例如)执行一些涉及窗口的操作,例如读取显示图像的切换栏值等...
'''
def __init__(self, path_to_images):
self._min_canny = 100
self._max_canny = 200
self._blur_kernel_size = 5
self._blur_sigma_value = 0
self._closing_iterations = 1
self._path_to_images = path_to_images
os.chdir(path_to_images)
self._count = 1
self._current_image = cv2.imread(str(self._count) + '.jpg' , 1)
self.initialize_window()
def initialize_window(self):
cv2.namedWindow('Original')
cv2.createTrackbar('Blur Kernel Size', 'Original', self.blur_kernel_size, 10, GUI_seg.on_change)
cv2.createTrackbar('Blur Sigma Value', 'Original', self.blur_sigma_value, 5, GUI_seg.on_change)
cv2.createTrackbar('Min Canny', 'Original', self.min_canny, 255, GUI_seg.on_change)
cv2.createTrackbar('Max Canny', 'Original', self.min_canny, 255, GUI_seg.on_change)
cv2.createTrackbar('Closing Iterations', 'Original', self.closing_iterations, 20, GUI_seg.on_change)
self.one_step()
'''
但是当我创建类的实例并运行涉及窗口的方法时,程序没有打开任何窗口。我怀疑内存空间管理的问题(窗口是在函数内部创建的,并且在函数执行结束时创建)。
如果有人知道发生了什么以及如何解决此问题,我将非常感谢您对这个问题的帮助。
解决方案
推荐阅读
- botframework - EndDialogAsync 问题 Botframework V4
- c++ - 使用 boost::signals2::scoped_connection 对象作为自动连接生命周期的类成员是否安全?
- r - 用 htmltab R 提取表(已回答)
- python - 如何过滤包含一个名称或另一个名称的列?
- jquery - 在jquery中快速悬停时不隐藏
- node.js - 需要帮助确定 heroku 应用程序崩溃的原因
- python - 运行 chrome 驱动程序时出现“TypeError:'module' object is not callable”
- python - 以第一个参数开头的参数必须是字节或字节元组,而不是 str: 'Python for everyone' Coursera
- ios - 在同一个标签栏项目上加载新的 viewController 不起作用
- azure - 端口 3389 不会在 azure vm 上打开