python中使用PIL库对图片像素点遍历以及像素值改变

将图片中特定像素值的部分改为另一种像素值

实验目的:将一张图片中白色的部分变成蓝色,灰色的部分改成黄色…,使用了PIL库,PIL库只支持python2.X版本,在python3.X版本中被并到pillow库中,想要使用PIL要先导入pillow库,然后在代码引用from PIL import Image 即可。

在这里插入图片描述

读取图片的像素值

先对整个图片每个像素点的像素值进行遍历,PIL库需要将图像先转成numpy数组,img_array = np.array(img)或者img = np.asarray(image),后面存储处理好的新图像时要把数组转成图像, dst[h,w] = img_array[h,w],img2 = Image.fromarray(np.uint8(dst))。

改变颜色

将特定像素值的点改变颜色

height = shape[0]
width = shape[1]
dst = np.zeros((height,width,3))
for h in range(0,height):
    for w in range (0,width):
        (b,g,r) = img_array[h,w]
        if (b,g,r)==(255,255,255):#白色
            img_array[h,w] = (0,255,255)#蓝色

实验图片展示

左图为原始图像,右图为处理后的图像
在这里插入图片描述

完整代码

代码片.

from PIL import Image
import numpy as np
img = Image.open("F:/PYproject/unet_camvid/CamVid/testimage/2.png")
#img.show()
img_array = np.array(img)#把图像转成数组格式img = np.asarray(image)
shape = img_array.shape
print(img_array.shape)
for i in range(0,shape[0]):
    for j in range(0,shape[1]):
        value = img_array[i, j]
        #print("",value)
        if value[0] != 0:
            print("", value)
height = shape[0]
width = shape[1]
dst = np.zeros((height,width,3))
for h in range(0,height):
    for w in range (0,width):
        (b,g,r) = img_array[h,w]
        if (b,g,r)==(255,255,255):#白色
            img_array[h,w] = (0,255,255)#蓝色
        if (b, g, r) == (85, 85, 85):  # 深灰
            img_array[h, w] = (0, 128, 0)  # 绿色
        if (b, g, r) == (170, 170, 170):  # 灰色
            img_array[h, w] = (255, 255, 0)  # 黄色
        if (b, g, r) == (0, 0, 0):  # 黑色
            img_array[h, w] = (255, 0, 0)  # 红色
        dst[h,w] = img_array[h,w]
img2 = Image.fromarray(np.uint8(dst))
img2.show(img2)
img2.save("3.png","png")

已标记关键词 清除标记
<p><span style="font-size: 24px; background-color: #e53333; color: #ffffff;"><strong>课程目标</strong></span></p> <p> </p> <p><span style="font-size: 18px;">从零开始掌握Premiere影视剪辑的基础知识,学会</span><span style="font-size: 18px; color: #e53333;"><span style="color: #e53333;"><strong>视频剪辑+影视特效+视频调色+字幕制作</strong></span></span></p> <p> </p> <p><span style="font-size: 24px; background-color: #e53333; color: #ffffff;">适用人群</span></p> <p> </p> <p><span style="font-size: 18px;">PR零基础小白,在校大学生,职场新人,想成为影视剪辑、影视后期、短视频制作、自媒体等高手的朋友。</span></p> <p> </p> <p><span style="font-size: 24px; background-color: #e53333; color: #ffffff;">课程简介</span></p> <p> </p> <p><span style="font-size: 18px;">课程以新版PR 2020讲解,可使用PR任意版本学习,绝大多数功能兼容旧版,但强烈建议使用新版本。</span></p> <p><span style="font-size: 18px;">【Adobe认证专家讲师精耕细作精品教程,非学院派照本宣科软件操作教程,以任务为导向,面向实际应用场景,每一章都能学会实打实的高手技能,讲解细致,小白也能轻松入门成大神!】</span></p> <p><span style="font-size: 18px;">课程好不好,看过就知道,前面的免费章节欢迎试看。</span></p> <p><span style="font-size: 18px;">本课程学习不需要任何PR基础,只需要电脑操作基础即可。兼容Windows和Mac操作系统,同时讲解两种系统下的快捷键操作,不用担心操作上的障碍问题。</span></p> <p> </p> <p><span style="font-size: 24px; background-color: #e53333; color: #ffffff;">课程特色</span></p> <p> </p> <p><span style="font-size: 18px;">1、以实际PR影视编辑与特效的流程为导向,绝大多数内容都是为了完成某个具体任务,而不是为了讲解某个软件操作而凑数。</span></p> <p><span style="font-size: 18px;">2、不同于国内多数教程和书籍,每个知识点务求讲精、讲透,帮助你掌握PR的精髓,而非软件操作上的皮毛,让你真正学到PR的本质,一次学习,终身受用,少走弯路,节约生命。</span></p> <p><span style="font-size: 18px;">3、课程会随PR新版本的推出持续更新,不必担心有新功能却不知道怎么用。</span></p> <p><span style="font-size: 18px;">4、充足的练习题和作业题,让你在不断的练习和挑战提升PR技能。</span></p> <div> <p> </p> <p><img src="https://img-bss.csdnimg.cn/202009230003497469.png" alt="" width="880" height="2635" /><img src="https://img-bss.csdnimg.cn/202009230004006917.png" alt="" width="880" height="2635" /><img src="https://img-bss.csdnimg.cn/202009230004102289.png" alt="" width="880" height="2635" /><img src="https://img-bss.csdnimg.cn/202009230004197845.png" alt="" width="880" height="1445" /></p> </div>
相关推荐
©️2020 CSDN 皮肤主题: 大白 设计师:CSDN官方博客 返回首页