Python之修改图片像素值的方法

yipeiwu_com6年前Python基础

在做语义分割项目时,标注的图片不合标准,而且类型是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))
 

以上这篇Python之修改图片像素值的方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持【听图阁-专注于Python设计】。

相关文章

Python元组及文件核心对象类型详解

元组 元组是不可变类型,以()表示,是任意对象的有序集合,同样是序列的一种,index和count方法分别是取元素,统计元素个数。 语法比如(2,3)就是一个元组。元组与列表如此类似,...

scrapy-redis的安装部署步骤讲解

先说下自己的环境,redis是部署在centos上的,爬虫运行在windows上, 1. 安装redis yum install -y redis 2. 修改配置文件 vi /et...

对python 矩阵转置transpose的实例讲解

在读图片时,会用到这么的一段代码: image_vector_len = np.prod(image_size)#总元素大小,3*55*47 img = Image.open(pat...

PyQt5每天必学之滑块控件QSlider

PyQt5每天必学之滑块控件QSlider

QSlider 是一个具有可来回拉动手柄的控件。有时使用滑块比输入数字或使用旋转框更方便。 在我们的例子中,我们将创建一个滑块和一个标签。标签显示图像。滑块将控制标签显示的图像。 #...

详解将Django部署到Centos7全攻略

详解将Django部署到Centos7全攻略

Django部署到Cenos7需要安装大量的依赖包, 有很多坑需要踩, 这里是踩坑后探索出的标准化步骤 实验环境: 腾讯云centos7 用centos7.5镜像创建容器(这步操作按自己...