我正在寻找一种快速迭代像素并创建3D直方图并返回按最常用颜色排序的数组的方法。
我的实际代码是:
def hist_3dhist(im):
hist = {}
for h in range(im.shape[0]):
for w in range(im.shape[1]):
if im.shape[2] == 4 and im[h, w, 3] == 0: ## if transparent pixel, no need to count it
continue
key = tuple(im[h,w,:3])
if not key in hist:
hist[key] = 0
hist[key] += 1
return sorted(hist, key=hist.get, reverse=True)
快速解释:我创建了一个包含所有不同颜色的字典,值是颜色出现的次数。
提前致谢