当前位置: 首页 > Python编程 > Python编程实战技能 > Python编程技术分享 > python如何更改图像像素

python如何更改图像像素

发布时间:2020年09月27日 08:57:30 来源: 点击量:713

【摘要】在Python中,可以使用PIL图像处理库来更改图像像素。方法是:1、利用PIL的load函数导入图片;2、size方法获取宽和高度;3、利用getpixel方

在Python中,可以使用PIL图像处理库来更改图像像素。方法是:1、利用PIL的load函数导入图片;2、size方法获取宽和高度;3、利用getpixel方法获取图像的像素值,putpixel方法设置图像的像素值。

在做语义分割项目时,标注的图片不合标准,而且类型是RGBA型,且是A的部分表示的类别,因此需要将该图片转化为RGB图片

# -*- coding:utf8 -*-
import os
 
from PIL import Image
im = Image.open('123.png') #打开图片
pix = im.load() #导入像素
width = im.size[0] #获取宽度
height = im.size[1] #获取长度
 
for x in range(width):
    for y in range(height):
        r,g,b,a = im.getpixel((x,y))	
        rgba=(r,g,b,a)
        if(a == 0):
            im.putpixel((x,y),(0,0,0,0))
        if(a == 255):
            im.putpixel((x,y),(255,255,255,255))
 
im = im.convert('RGB')
im.save('456.png')

批量处理的方法

# -*- coding:utf8 -*-
import os
from PIL import Image
 
path = 'SegmentationClass(RGBA)/'
savedpath = 'SegmentationClass/'
filelist = os.listdir(path)
for item in filelist:
    im = Image.open(path + item) #打开图片
    width = im.size[0] #获取宽度
    height = im.size[1] #获取长度
 
    for x in range(width):
        for y in range(height):
            r,g,b,a = im.getpixel((x,y))	
            if(a == 0):
                im.putpixel((x,y),(0,0,0,0))
            if(a == 255):
                im.putpixel((x,y),(255,255,255,255))
    im = im.convert('RGB')
    im.save(savedpath + item)
    print('item of %s is saved '%(item))

推荐课程:计算机视觉入门(黑马程序员)

分享到: 编辑:wangmin

就业培训申请领取
您的姓名
您的电话
意向课程
点击领取

环球青藤

官方QQ

扫描上方二维码或点击一键加群,免费领取大礼包,加群暗号:青藤。 一键加群

绑定手机号

应《中华人民共和国网络安全法》加强实名认证机制要求,同时为更加全面的体验产品服务,烦请您绑定手机号.

预约成功

本直播为付费学员的直播课节

请您购买课程后再预约

环球青藤移动课堂APP 直播、听课。职达未来!

安卓版

下载

iPhone版

下载
环球青藤官方微信服务平台

刷题看课 APP下载

免费直播 一键购课

代报名等人工服务

课程咨询 学员服务 公众号

扫描关注微信公众号

APP

扫描下载APP

返回顶部