我正在尝试这样做:
for myimage in Images:
image = cv2.imread(myimage)
processed_image = Image_Preprocessing(image)
name = os.path.basename(myimage) # Get image name to save it as a Class
class_name = str(name)
Image_count= Image_count+1
# To divide the image to mxm patches
for r in range(0,processed_image.shape[0],patch_size):
for c in range(0,processed_image.shape[1],patch_size):
value= processed_image[r:r+patch_size,c:c+patch_size]
#Search for similar patch
#if the value already exists in dict only update the classes list
#else add the value in dict and update the classes list
if any((value == patch).all() for patch in Patches_dic.keys()):
if (class_name in Patches_dic[value] ):
continue
else:
Patches_dic[value].append(class_name)
else:
list_Of_Classes.append(class_name)
Patches_dic.update({value : list_Of_Classes }) #Key: image patch Value: List of Classes
但是,我遇到了这个错误
Patches_dic.update({tuple(value):list_Of_Classes})
TypeError:不可哈希类型:'numpy.ndarray'
我不知道自己在做什么以及如何解决这个问题:(