如何解决matplotlib.widgets滑块仍然没有响应
matplotlib.widgets滑块在我的代码中仍然无响应,即。滑块将不会移动,并且图像也不会更新。 Slider应该通过伽玛校正来更改图像的对比度,因此应该写为def Adjust_gamma,它返回具有更新的像素值的数组。
def adjust_gamma(image,gamma):
table=np.array([((i / 255.0)**gamma)*255 for i in np.arange(0,255)]).astype("uint8")
return cv2.LUT(image,table)
class save:
def __init__(self,Path,file_type):
filepaths=[]
for (dirpath,dirnames,filenames) in os.walk(Path):
for file in filenames:
if file.endswith(file_type):
filepaths.append(os.path.join(dirpath,file))
print('Enter two image numbers: ')
x=input()
temp = re.findall('\d+',x)
res = list(map(int,temp))
filepaths_2=[]
for i in res:
filepaths_2.append(filepaths[i])
self.filepaths_2=filepaths_2
def imgs_gamma(self,gmin=0.1,gmax=2,stepsize=0.2):
img0=cv2.imread(self.filepaths_2[0])
img1=cv2.imread(self.filepaths_2[1])
fig,ax=plt.subplots(1,2)
im0=ax[0].imshow(img0)
plt.axis([0,64,0])
im0=ax[1].imshow(img1)
axSlider1=plt.axes([0.1,0.1,0.8,0.05])
slder1= Slider(ax=axSlider1,label='Slider 1',valmin=gmin,valmax=gmax,valstep=stepsize)
def update(val):
im0.set_data(adjust_gamma(im0,val))
fig.canvas.draw_idle()
#im0.axes.figure.canvas.draw()
slder1.on_changed(update)
plt.show()
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。