python – PIL最好的方式来替换颜色?

栏目: Python · 发布时间: 7年前

内容简介:代码日志版权声明:翻译自:http://stackoverflow.com/questions/1616767/pil-best-way-to-replace-color
我试图从我的图像中删除某种颜色,但是它不能像我所希望的那样工作.我试图做同样的事情,看到这里 Using PIL to make all white pixels transparent?

然而,图像质量有点有损,所以它留下一个奇怪的彩色像素的一点点在哪里被删除.如果所有三个值都低于100,那么我尝试像像素一样改变像素,但是由于图像质量差,周围的像素甚至不是黑色的.

有没有人知道用PIL在 Python 中更好的方式来替换颜色和周围的任何东西?这可能是我可以想到的唯一可靠的火灾方式,完全删除对象,但我不能想到一种方法来做到这一点.

图片具有白色背景和黑色文字.我们只是说我想从图像中完全删除文本,而不会留下任何文物.

真的很感激某人的帮助!谢谢

您需要将图像代表为二维数组.这意味着要创建像素列表的列表,或者使用一些聪明的数学方法将二维数组视为二维数组.然后,对于每个要定位的像素,您需要找到所有周围的像素.因此,您可以使用python生成器:

def targets(x,y):
    yield (x,y) # Center
    yield (x+1,y) # Left
    yield (x-1,y) # Right
    yield (x,y+1) # Above
    yield (x,y-1) # Below
    yield (x+1,y+1) # Above and to the right
    yield (x+1,y-1) # Below and to the right
    yield (x-1,y+1) # Above and to the left
    yield (x-1,y-1) # Below and to the left

所以,你会这样使用:

for x in range(width):
    for y in range(height):
        px = pixels[x][y]
        if px[0] == 255 and px[1] == 255 and px[2] == 255:
            for i,j in targets(x,y):
                newpixels[i][j] = replacementColor

代码日志版权声明:

翻译自:http://stackoverflow.com/questions/1616767/pil-best-way-to-replace-color


以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,也希望大家多多支持 码农网

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

《数据结构》算法实现及解析

《数据结构》算法实现及解析

高一凡 / 西安电子科技大学出版社 / 2002-10-1 / 35.0

《数据结构算法实现及解析》配有光盘,光盘中包括书中所有程序及用标准C语言改写的程序。所有程序均在计算机上运行通过。《数据结构算法实现及解析》适用于使用教科书的大中专学生和自学者。书中的基本操作函数也可供从事计算机工程与应用工作的科技人员参考和采用。一起来看看 《《数据结构》算法实现及解析》 这本书的介绍吧!

JSON 在线解析
JSON 在线解析

在线 JSON 格式化工具

随机密码生成器
随机密码生成器

多种字符组合密码

XML、JSON 在线转换
XML、JSON 在线转换

在线XML、JSON转换工具