这是我的密码
class segmentatiomn:
CLUSTERS = None
IMAGE = None
COLORS = None
LABELS = None
def _init_(self,image,clusters=2):
self.CLUSTERS = clusters
self.IMAGE = image
def dominantColors(self):
# read image
img = cv2.imread(self.IMAGE)
# convert to rgb from bgr
img = cv2.cvtColor(img, cv2.COLOR_BGR2RGB)
# reshaping to a list of pixels
img = img.reshape((img.shape[0] * img.shape[1], 3))
# save image after operations
self.IMAGE = img
# using k-means to cluster pixels
kmeans = KMeans(n_clusters=self.CLUSTERS)
kmeans.fit(img)
# the cluster centers are our dominant colors.
self.COLORS = kmeans.cluster_centers_
# save labels
self.LABELS = kmeans.labels_
# returning after converting to integer from float
return self.COLORS.astype(float)
img = 'img'
clusters = 2
dc = segmentatiomn(img, clusters)
colors = dominantColors()
print(colors)
问题是您没有正确定义构造函数。构造函数是
__init__
(双下划线)而不是_init_
(单下划线)。只要改变它,它就会解决你的问题相关问题 更多 >
编程相关推荐