【问题标题】:Using PIL in Python 2.7, iterate through pixels and check their luminescence在 Python 2.7 中使用 PIL,遍历像素并检查它们的发光
【发布时间】:2016-05-26 07:13:04
【问题描述】:

我正在编写一个程序来获取图像的轮廓。到目前为止,这是输出:
我希望它只有黑色和白色。我需要遍历每个像素,如果像素的发光量高于一定量,则将该像素设置为纯白色,否则将其设置为黑色。
我最近才开始学习 PIL,所以我还不确定如何遍历像素或检查它们的发光。

【问题讨论】:

标签: python image image-processing python-imaging-library


【解决方案1】:

从字面上回答您的问题,您可以使用PIL 将函数应用于您的每个像素。

from PIL import Image
image = Image.open('pawn.png')
thresh = 120 # Change at your discretion
image = image.point(lambda i: 255 if i > thresh else 0)

这将产生黑色背景和白色轮廓。如果你想反过来,只需将最后一行的 255 和 0 交换即可。

如果您想找到该对象的更详细的轮廓,您可能需要了解如何锐化图像并将其应用到精巧的边缘检测。对于这些类型的操作,我会推荐skimage (scikit-image) 或opencv2

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2016-07-05
    • 2016-07-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-04-10
    相关资源
    最近更新 更多