利用PIL检测图像中的黄色

2024-07-04 06:04:11 发布

您现在位置:Python中文网/ 问答频道 /正文

我用相机拍了一张JPG图像,希望能在照片中检测到一个黄色的火柴盒。我试着使用Python图像库。我试着找出黄色的RGB组合,结果发现R和G对于任何一种颜色的黄色总是255。但是在图像中,没有255值。我做错什么了?我怎样才能解决这个问题?这是我尝试的代码:

for x in range(1,2592):
    for y in range(1,1456):
        p = im.getpixel((x,y))
        if p[0]>150 and p[1]>150:
            print p

不幸的是,没有坐标出现。在


Tags: and代码in图像forif颜色range
1条回答
网友
1楼 · 发布于 2024-07-04 06:04:11

两个问题:

  • {{cd1}中的颜色取决于cd1}的格式。

  • (150, 150, 255),匹配测试时不会被视为黄色。事实上它是蓝色的。你应该测试红色和绿色是否足够大,但蓝色是否足够小。


把它们放在一起:

for x in range(1,2592):
    for y in range(1,1456):
        p=im.getpixel((x,y))
        if p[0] > 150 and p[1] > 150 and p[2] < 150: # added p[2] < 150 for blue
            print p, "is yellow"
        else:
            print p, "is not yellow"                 # see what range you have

相关问题 更多 >

    热门问题