python图片预处理基本操作之图片预处理基本操作之——批量重命名,修改格式,统一大小,保存为其他路径,批量重命名,修改格式,统一大小,保存为其他路径,
灰度化,归一化并将灰度化,归一化并将BGR写入写入txt
最近学习需要,接触了一些图片预处理的工作(用python实现),但网上集中的篇幅不多,故整理如下,主要包括:
批量重命名大量图片批量重命名大量图片
修改格式(此处以修改格式(此处以.bmp转化为转化为.jpg为例)为例)
统一图片大小(分辨率统一图片大小(分辨率128*128))
将上述操作后的图片另存为目标路径将上述操作后的图片另存为目标路径
对图片进行灰度化处理对图片进行灰度化处理
对图片进行归一化处理,并将每个像素点的对图片进行归一化处理,并将每个像素点的BGR保存在保存在txt文件里文件里
版本:python3.8
运行:PyCharm2019
下面开始详细讲解喽:
第一步:第一步:
分别批量重命名文件夹中的图片名称,并将.bmp格式的图片修改为.jpg格式。
下图是从网络上下载的量两组图:
上面一排是5张兔子Judy(.bmp格式), 下面一排是5张花朵(.jpg格式)。这些图名称随机,大小不一。这些原始图片的保存路径是 ./pictures
主要语法:os.rename()
参考链接: https://blog.csdn.net/wowocpp/article/details/79460407
class BatchRename(): #定义一个重命名的类
def __init__(self):
self.path = './pictures'
def rename(self):
filelist = os.listdir(self.path)
total_num = len(filelist)
i = 0
for item in filelist:
if item.endswith('.bmp'): #将bmp格式的图片改为jpg
src = os.path.join(os.path.abspath(self.path), item)
dst = os.path.join(os.path.abspath(self.path), 'Judy' + str(i) + '.jpg') #重新命名并改格式
try:
os.rename(src, dst)
print('converting %s to %s ...' % (src, dst))
i = i + 1
except:
continue
for item in filelist:
if item.endswith('.jpg'):
src = os.path.join(os.path.abspath(self.path), item)
dst = os.path.join(os.path.abspath(self.path), 'flower' + str(i) + '.jpg') ##重新命名
try:
os.rename(src, dst)
print('converting %s to %s ...' % (src, dst))
i = i + 1
except:
continue
if __name__ == '__main__':
demo = BatchRename()
demo.rename()
效果如下:
评论0