栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Python

2021-09-26

Python 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

2021-09-26

数据处理02

水下数据集本就难找 还有些开源资源数据集是从 .mat 文件转换成 .png格式
这就容易导致转换过程中 像素点色值出现误差。比如RGB(255,255,0)黄色 同(230,230,0) 肉眼就很难分辨出来 给工作带来很多不必要的麻烦。

如果是面对较大数据集 很可能在进行数据读取并训练时 数据类别高达200 影响后续效果 难以进行类别统计。

记录下一套代码 用来对该类数据集进行颜色批量化处理 便于以后工作。

import os.path
import glob
from PIL import Image
def colorchange(jpgfile,outdir):
 img Image.open(jpgfile) # 读取需要进行颜色转换的文件夹下所有图片
 # print (img.size)#打印图片大小
 # print (img.getpixel((4,4)))
 width img.size[0] # 长度
 height img.size[1] # 宽度
 print(os.path.basename(jpgfile))
 try:
 for i in range(0, width): # 遍历该图片所有长度的点
 for j in range(0, height): # 遍历所有宽度的点
 data (img.getpixel((i, j))) # 打印该图片的所有点
 # print (data)#打印每个像素点的颜色RGBA的值(r,g,b,alpha)
 # print (data[0])#打印RGBA的r值
 #使用if条件进行判断 对色值处于不同区间的像素点进行划分并重新赋值 保证其同一类别的像素点颜色数值统一。注意 如果数据集过于复杂 类别数量极多 则需自己认真考虑如何进行准确高效的区分 
 # if (data[0] 128 and data[1] 128 and data[2] 128 ):
 # img.putpixel((i, j), (255, 255, 255))
 # if (data[0] 128 and data[1] 128 and data[2] 128 ):
 # img.putpixel((i, j), (255, 255, 0))
 # if (data[0] 128 and data[1] 128 and data[2] 128 ):
 # img.putpixel((i, j), (255, 0, 255))
 # if (data[0] 128 and data[1] 128 and data[2] 128 ):
 # img.putpixel((i, j), (255, 0, 0))
 # if (data[0] 128 and data[1] 128 and data[2] 128 ):
 # img.putpixel((i, j), (0, 255, 255))
 # if (data[0] 128 and data[1] 128 and data[2] 128 ):
 # img.putpixel((i, j), (0, 255, 0))
 # if (data[0] 128 and data[1] 128 and data[2] 128 ):
 # img.putpixel((i, j), (0, 0, 255))
 # if (data[0] 128 and data[1] 128 and data[2] 128 ):
 # img.putpixel((i, j), (0, 0, 0))
 # if (data[0] 128 and data[1] 128 and data[2] 128 ):
 # img.putpixel((i, j), (0, 0, 0))
 # yellow
 if (data[0] 128 and data[1] 128 and data[2] 128 ):
 img.putpixel((i, j), (255, 255, 0))
 # if (data[0] 128 and data[1] 128 and data[2] 128 ):
 # img.putpixel((i, j), (0, 255, 0))
 # Red
 if (data[0] 128 and data[1] 128 and data[2] 128 ):
 img.putpixel((i, j), (255, 0, 0))
 # Green
 if (data[0] 128 and data[1] 128 and data[2] 128 ):
 img.putpixel((i, j), (0, 255, 0))
 # if (data[0] 128 and data[1] 128 and data[2] 128 ):
 # img.putpixel((i, j), (255, 0, 0))
 # if (data[0] 128 and data[1] 128 and data[2] 128 ):
 # img.putpixel((i, j), (255, 0, 255))
 # Blue
 if (data[0] 128 and data[1] 128 and data[2] 128 ):
 img.putpixel((i, j), (0, 0, 255))
 # Black
 if (data[0] 128 and data[1] 128 and data[2] 128 ):
 img.putpixel((i, j), (0, 0, 0))
 img img.convert( RGB ) # 把图片强制转成RGB
 img.save(os.path.join(outdir, os.path.basename(jpgfile))) # 保存修改像素点后的图片
 except Exception as e:
 print(e)
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/268272.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号