在对图像执行处理算法之前,我需要用户单击画一个圆以使用鼠标创建剪贴蒙版。此蒙版将用于删除会导致算法失败的图像区域。

我如何允许用户:

  • 拖动ROI(以调整图像上的x-y位置)
  • 调整ROI的形状(即通过拖动绘制圆的大小)

  • 将来,我将需要使用某些功能检测来选择投资返回率,但现在,我确实需要用户能够以一种对他们来说容易的方式定义投资返回率,

    最佳答案

    如果您安装了scikit-image,则可以使用以下命令进行矩形选择(但是,修改skimage代码以绘制圆形并不是一件困难的事情):

    import matplotlib.pyplot as plt
    from skimage import data
    from skimage.viewer.canvastools import RectangleTool
    
    f, ax = plt.subplots()
    ax.imshow(data.camera(), interpolation='nearest', cmap='gray')
    
    props = {'facecolor': '#000070',
             'edgecolor': 'white',
             'alpha': 0.3}
    rect_tool = RectangleTool(ax, rect_props=props)
    
    plt.show()
    print("Final selection:")
    rect_tool.callback_on_enter(rect_tool.extents)
    

    您按Enter键完成选择。

    关于python - 如何在OpenCV/Python中创建可拖动/可调整的ROI?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/21696097/

    10-12 18:03