<blockquote>
<p>Library (libraries) to use?</p>
</blockquote>
<p><a href="http://scikit-image.org/" rel="nofollow noreferrer">scikit-image</a>或{a2}将是我的首选。在</p>
<blockquote>
<p>Methods? (Are there any widely used algorithms for this kind of problem?)</p>
</blockquote>
<p><a href="https://en.wikipedia.org/wiki/K-means_clustering" rel="nofollow noreferrer">K-means clustering</a>是一种流行的颜色量化方法。在</p>
<blockquote>
<p>Am I using the wrong programming language? (Is there one that offers this kind of functionality but easier to use?)</p>
</blockquote>
<p>Python可以说是这个任务的“最简单”语言。在</p>
<p><strong>演示</strong></p>
<p>考虑一下这个图像:</p>
<p><a href="https://i.stack.imgur.com/QCl8D.jpg" rel="nofollow noreferrer"><img src="https://i.stack.imgur.com/QCl8D.jpg" alt="original"/></a></p>
<p>仅将以下代码从6+500K减少为:</p>
<pre><code>import numpy as np
from skimage import io
from sklearn.cluster import KMeans
original = io.imread('https://i.stack.imgur.com/QCl8D.jpg')
n_colors = 6
arr = original.reshape((-1, 3))
kmeans = KMeans(n_clusters=n_colors, random_state=42).fit(arr)
labels = kmeans.labels_
centers = kmeans.cluster_centers_
less_colors = centers[labels].reshape(original.shape).astype('uint8')
io.imshow(less_colors)
</code></pre>
<p>这就是彩色量化图像的外观:</p>
<p><a href="https://i.stack.imgur.com/kvIHW.jpg" rel="nofollow noreferrer"><img src="https://i.stack.imgur.com/kvIHW.jpg" alt="less_colors"/></a></p>