我想知道如何在文本框中显示整数和双精度值。因为我必须计算图像的平均值,我希望这些值显示在GUI的文本框中。
当我尝试使用我的代码时出现错误:
AttributeError: numpy.ndarray object has no attribute set
这是因为我在 ndarray 中使用.set()
。但如果没有.set()
如何将值发送到文本框?
这是我的代码段:
def open():
path=tkFileDialog.askopenfilename(filetypes=[("Image File",'.jpg')])
blue, green, red = cv2.split(re_img)
total = re_img.size
B = sum(blue) / total
G = sum(green) / total
R = sum(red) / total
B_mean1.append(B)
G_mean1.append(G)
R_mean1.append(R)
blue.set(B_mean)
root = Tk()
blue_label = Label(app,text = 'Blue Mean')
blue_label.place(x = 850,y = 140)
blue = IntVar(None)
blue_text = Entry(app,textvariable = blue)
blue_text.place(x = 1000,y = 140)
button = Button(app, text='Select an Image',command = open)
button.pack(padx = 1, pady = 1,anchor='ne')
button.place( x = 650, y = 60)
root.mainloop()
我不知道我的编码是否错误。并且这些平均值存储在列表中。有关此问题的任何建议吗?
感谢您的支持!
答案 0 :(得分:1)
blue
是您的函数中的本地名称,会影响您的全局IntVar
引用blue
。
重命名其中一个。
答案 1 :(得分:0)
numpy.ndarray上没有任何名为“set”的内容:
http://docs.scipy.org/doc/numpy/reference/generated/numpy.ndarray.html
仔细查看此参考资料,并弄清楚如何将B_mean应用于蓝色。