我有兩個不同的功能,如:如何把變量從不同`高清()`函數到另一個 - 蟒蛇
def messageWindow():
# all the necessary operations
feature_matrix_db = zip(B_mean , G_mean , R_mean, cont_list , ene_list , homo_list , cor_list, dis_list)
return feature_matrix_db
def open():
#all the necessary operations
feature_matrix_ip = zip(B_mean1 , G_mean1 , R_mean1, cont_list1 , ene_list1 , homo_list1 , cor_list1 , dis_list1)
return feature_matrix_ip
def result():
COLUMNS = 12
image_count = 0
resultlist_key = []
result_list = list()
i = 0
a_list = list()
b_list = list()
a_list.append(feature_matrix_ip)
while i < 70:
b_list.append(feature_matrix_db[i])
dist = distance.euclidean(a_list,b_list[i])
result_list.append(dist)
resultlist_key = OrderedDict(sorted(enumerate(result_list),key=lambda x:x[0])).keys()
i = i + 1
res_lst_srt = {'values': result_list,'keys':resultlist_key}
res_lst_srt['values'], res_lst_srt['keys'] = zip(*sorted(zip(res_lst_srt['values'], res_lst_srt['keys'])))
key = res_lst_srt['keys']
for i1,val in enumerate(key):
if i1 < 4:
image_count += 1
r, c = divmod(image_count, COLUMNS)
im = Image.open(resizelist[val])
tkimage = ImageTk.PhotoImage(resized)
myvar = Label(win, image=tkimage)
myvar.image = tkimage
myvar.grid(row=r, column=c)
前兩個def()
函數將返回feature_matrix_db
和feature_matrix_ip
,我想這些結果是導入下一個def()
功能結果。它是這樣的錯誤:
im = Image.open(resizelist[val])
File "E:\Canopy\System\lib\site-packages\PIL\Image.py", line 1956, in open
prefix = fp.read(16)
AttributeError: 'numpy.ndarray' object has no attribute 'read'
歡迎任何建議。提前致謝!
不要覆蓋內建'open()',否則當你想打開一個文件時你會有一段糟糕的時間。 – msvalkon
@msvalkon好吧我會改變'open()' –
請閱讀關於python中的[functions](https://docs.python.org/2/tutorial/controlflow.html#defining-functions)。你沒有任何這些函數的參數*和*你沒有聲明前兩個函數中的任何變量。你從不在* result()中調用你的任何函數,因此函數永遠不會返回數據。 – msvalkon