Python 什么是切换选择器
我很难理解切换选择器中的toggle_selector.RS是什么意思。我已经阅读了文档,但仍然无法理解它。谁能简单地告诉我这是什么意思以及它是如何工作的?提前谢谢 示例代码: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)):
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函数也可以吗?您需要在某处保留对矩形选择器的引用。如果您不这样做,它将被垃圾收集,您将失去交互性。