我有一张看起来与此图像等效的图像:



它是页面上的一系列圆弧线,每次都不同。

from PIL import Image
im = Image.open("bride.jpg")

导入后,我想知道是否存在一种区分颜色的方法。对于该示例,可能是:
[Purple, Cyan, Purple, Cyan, Purple Cyan...]

这条线没有图案,有几千个圆圈,这意味着它不能手动完成。还要注意,我实际测试的图像质量更高,可以在here中找到实际图像。

最佳答案

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

Get pixel's RGB using PIL

#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)

10-07 18:29