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实现baidu hi自动登录的代码

复制代码 代码如下:# _*_ coding:utf-8 _*_# name login_baidu.pyimport urllib,urllib2,httplib,cookielibd...

python实现调用其他python脚本的方法

本文实例讲述了python实现调用其他python脚本的方法,分享给大家供大家参考。具体方法如下: 该实例调用当前目录下的md5get.py脚本。代码如下: import os i...

python-序列解包(对可迭代元素的快速取值方法)

一般情况下 x,y,z = 1,2,3 print("x:",x) print("y:",y) print("z:",z) #运行结果 x: 1 y: 2 z: 3 对元祖序...

pandas read_excel()和to_excel()函数解析

前言 数据分析时候,需要将数据进行加载和存储,本文主要介绍和excel的交互。 read_excel() 加载函数为read_excel(),其具体参数如下。 read_exce...

python通过装饰器检查函数参数数据类型的方法

本文实例讲述了python通过装饰器检查函数参数数据类型的方法。分享给大家供大家参考。具体分析如下: 这段代码定义了一个python装饰器,通过此装饰器可以用来检查指定函数的参数是否是指...