kmeans基本c实现的python包装器
kmeans的Python项目详细描述
安装
pip install kmeans
用法
import kmeans means = kmeans.kmeans(points, k)
points应该是(data, weight)形式的元组列表,其中 data是一个长度为3的列表。
例如,为一组像素查找四种平均颜色:
pixels = [ [(15, 20, 25), 1], # [(r,g,b), count] [(17, 31, 92), 5], # ... Lots more ... ] centers = kmeans.kmeans(pixels, 4)
在这种情况下,传入的权重可以是像素出现的频率。 在一个图像中,或某个偏好把手段拉向一种颜色。
限制
所有值都必须是non-negativeintegers,并具有以下内容 限制:
r, g, b [0, 255] (uint8_t) count [0, 4294967295] (uint32_t) maximum points 4294967296 (uint32_t) maximum means 256 (uint8_t) max iterations 65536 (uint16_t) max tolerance 65536 (uint16_t)
灵感
http://charlesleifer.com/blog/using-python-to-generate-awesome-linux-desktop-themes/
我想将这个实现应用于比200x200大得多的图像。 在一台漂亮的电脑上运行一个4kx3k的图像快60秒了,所以我 决定重写c中的kmeans实现。
贡献者
- chinatsu-32位兼容性