项目1彩色图片去色
Posted bladeofstalin
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了项目1彩色图片去色相关的知识,希望对你有一定的参考价值。
from PIL import Image # 像安装 cocos2d 一样安装 PIL 库, 方法如下 # pip3 install pillow # 这是 python 用于处理图像文件的库 """ 下面介绍一下计算机存储图像的原理 w 是图像宽 h 是图像高 一个图像由 w * h 个像素点组成 每个像素点由 rgba 4 个部分组成 r 红色 g 绿色 b 蓝色 a 透明度 现在的图像 rgba 分别是一个字节表示,一个字节的数值范围是 0 - 255 也就是一个像素点 4 字节,可以表示的颜色范围是 256 的 4 次方 但是很多图像是没有 a 的,所以就只有 3 字节表示一个像素 作业要求: 参考下面的链接和本文件的代码 https://baike.baidu.com/item/%E5%8E%BB%E8%89%B2 实现 grayscale 函数,让生成的 gua.png 是黑白的 """ log = print def grayscale(image, position, gray, a): #将position位置的像素RGB替换为gray,A不变 image.putpixel(position, (gray, gray, gray, a)) def main(): # 打开图像文件 img = Image.open("gua_sample.png") # 注意由于不是每个图像都有 a 所以这里强制转换成 RGBA 格式 img = img.convert(‘RGBA‘) size = img.size # 读取座标 (i, j) 处的像素点的像素值 for i in range(size[0]): for j in range(size[1]): position = (i, j) r, g, b, a = img.getpixel(position) log(‘get pixel‘, r, g, b, a) gray = (r * 30 + g * 59 + b * 11) / 100 gray = int(gray) log(‘gray‘, gray) grayscale(img, position, gray, a) # 保存图像文件 img.save(‘gua.png‘) if __name__ == ‘__main__‘: main()
以上是关于项目1彩色图片去色的主要内容,如果未能解决你的问题,请参考以下文章