如何在图片中使用Python选择彩色线条?

1 投票
1 回答
653 浏览
提问于 2025-04-18 10:35

我有一些图片,上面有特定颜色的线条,背景各不相同。简单来说,我想做以下几件事:

  1. 把图片加载到程序里
  2. 在图片中寻找颜色为 #FFFFFF 的线条
  3. 生成一个包含 X,Y 像素坐标的数组
  4. 为这条线的上下生成一个“如果”语句。

我需要帮助的地方是如何完成第二步“寻找线条”,我一直在阅读 PIL 和 Pillow 的文档和示例,但还没有找到专门处理这个问题的内容。

任何帮助都会非常感谢。

1 个回答

2

你是在找这样的东西吗?

from PIL import Image

img = Image.open('a.png')
width, height = img.size

for y in range(0, height):
    if img.getpixel((1, y)) == (255, 255, 255):
        print "White line on Y == {}".format(y)

补充一下:这里有个更好的方法。

from PIL import Image

im = Image.open('a.png')
pixels = list(im.getdata())
width, height = im.size

pixels = [pixels[i * width:(i + 1) * width] for i in xrange(height)]

for idx, y in enumerate(pixels):
    if y[0] == (255, 255, 255):
        print "Line {} is white.".format(idx)

撰写回答