从曲线挑选颜色

Ale*_*ggs 11 python image python-3.x

我有一个看起来与此图像相同的图像:

这个.

它是曲线上页面上的一系列圆圈,每次都是不同的.

from PIL import Image
im = Image.open("bride.jpg")
Run Code Online (Sandbox Code Playgroud)

导入后,我想知道是否有区分颜色的方法.例如,这可能是:

[Purple, Cyan, Purple, Cyan, Purple Cyan...]
Run Code Online (Sandbox Code Playgroud)

该行没有任何模式,并且是几千个圆长,这意味着它不能手动完成.另请注意,我实际测试的图像质量要高得多,实际图像可以在这里找到.

mat*_*sap 1

只需沿线创建 RGB 值列表,然后过滤该列表以删除相似的相邻值。

使用PIL获取像素的RGB

#find RGB values   
rgb_values = []
for point in line:
   r, g, b = rgb_im.getpixel(point)
   rgb_values += [ (r,g,b)]
#remove similar adjacent values
for i in range(len(rgb_values)-1):
    if rgb_values[i] == rgb_values[i+1]:
        rgb_values.pop(i)
        i -= 1
if len(rgb_values) > 1:
    if rgb_values[-1] == rgb_values[-2]:
         rgb_values.pop(-1)
Run Code Online (Sandbox Code Playgroud)