Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/300.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 什么是切换选择器_Python_Matplotlib - Fatal编程技术网

Python 什么是切换选择器

Python 什么是切换选择器,python,matplotlib,Python,Matplotlib,我很难理解切换选择器中的toggle_selector.RS是什么意思。我已经阅读了文档,但仍然无法理解它。谁能简单地告诉我这是什么意思以及它是如何工作的?提前谢谢 示例代码: def toggle_selector(event): toggle_selector.RS.set_active(True) if __name__ == "__main__": for n,image_file in enumerate(os.scandir(image_folder)):

我很难理解切换选择器中的toggle_selector.RS是什么意思。我已经阅读了文档,但仍然无法理解它。谁能简单地告诉我这是什么意思以及它是如何工作的?提前谢谢

示例代码:

def toggle_selector(event):
   toggle_selector.RS.set_active(True)

if __name__ == "__main__":
for n,image_file in enumerate(os.scandir(image_folder)):
    img = image_file
    fig,ax = plt.subplots(1)
    image = cv2.imread(image_file.path)
    image = cv2.cvtColor(image,cv2.COLOR_BGR2RGB)
    ax.imshow(image)
    toggle_selector.RS = RectangleSelector(
        ax,line_select_callback,
        drawtype="box" , useblit=True,
        button=[1] , minspanx=5, minspany=5,
        spancoords='pixels', interactive=True
    )
    bbox = plt.connect('key_press_event',toggle_selector)
    key = plt.connect('key_press_event',onkeypress)
    plt.show()

这段代码利用了Python函数是对象这一事实,并将
矩形选择器
()的实例存储在函数
切换选择器
上。然后,它会注册一个回调,这样当你按下一个键时,选择器就会被激活(这意味着它将处理你的鼠标事件)

从名称中,我猜
line\u select\u回调
会从图像中提取一条线,并将其显示在其他地方

def切换_选择器(事件):
切换选择器.RS.set\u激活(真)
将numpy作为np导入
img=np.random.rand(5,5)
图,ax=plt子批次(1)
ax.imshow(img)
切换_selector.RS=矩形选择器(
ax,lambda*args,**kwargs:print(args,kwargs),
drawtype=“box”,useblit=True,
按钮=[1],最小窗格X=5,最小窗格=5,
spancoords='pixels',interactive=True
)
bbox=plt.connect('按键事件',切换选择器)
plt.show()

是一个更简单的版本。但是,从提供的代码来看,我有点困惑它为什么要这样做,因为默认情况下创建时,
RectangleSelector
处于活动状态。

thx以获取解释。那么,如果我删除toggle_selector函数也可以吗?您需要在某处保留对
矩形选择器的引用。如果您不这样做,它将被垃圾收集,您将失去交互性。