内容简介:代码日志版权声明:翻译自: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
以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,也希望大家多多支持 码农网
猜你喜欢:- 颜色搭配及颜色科学
- CSS教程:图片使用混合模式和颜色叠加filter滤镜,改变PNG图标颜色
- OpenGL ES入门: 渲染金字塔 - 颜色、纹理、纹理与颜色混合填充以及GLKit实现
- WebGL 纹理颜色原理
- 【Leetcode】75.颜色分类
- Sass 内置颜色方法
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。