在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))
推荐课程:计算机视觉入门(黑马程序员)
常见问题FAQ
- 免费下载或者VIP会员专享资源能否直接商用?
- 本站所有资源版权均属于原作者所有,这里所提供资源均只能用于参考学习用,请勿直接商用。若由于商用引起版权纠纷,一切责任均由使用者承担。更多说明请参考 VIP介绍。
- 提示下载完但解压或打开不了?
- 找不到素材资源介绍文章里的示例图片?
- 模板不会安装或需要功能定制以及二次开发?
发表评论
还没有评论,快来抢沙发吧!