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中operator模块的操作符使用示例总结

operator模块是python中内置的操作符函数接口,它定义了一些算术和比较内置操作的函数。operator模块是用c实现的,所以执行速度比python代码快。 逻辑操作 fr...

详解Python打包分发工具setuptools

详解Python打包分发工具setuptools

Python打包分发工具setuptools:曾经 Python 的分发工具是 distutils,但它无法定义包之间的依赖关系。setuptools 则是它的增强版,能帮助我们更好的创...

如何用itertools解决无序排列组合的问题

最近我作为Python菜鸟一枚开始征战Codewars,所以打算在这里记下遇到的有意思的题目。今天这第一题叫做“Best Travel”: John和Mary计划去一些小镇旅行。Mary...

Python 解决OPEN读文件报错 ,路径以及r的问题

Python 中 ‘unicodeescape' codec can't decode bytes in position XXX: trun错误解决方案 背景描述 今天在运用Pytho...

python机器学习之决策树分类详解

python机器学习之决策树分类详解

决策树分类与上一篇博客k近邻分类的最大的区别就在于,k近邻是没有训练过程的,而决策树是通过对训练数据进行分析,从而构造决策树,通过决策树来对测试数据进行分类,同样是属于监督学习的范畴。决...