标签:join python 裁剪 cv2 item print path os 图片
这个类主要是将图片裁剪成所需的分辨率,宽高可以自己设置。批量裁剪同一个文件夹下面的全部jpg图片,然后将其放置到另外一个文件夹 。然后重新命名。以下是源码:
import cv2
import os
import glob
'''这个类主要作用是将图片进行裁剪,然后更改文件名'''
path='E:/labelme/picture/'
outpath='E:/labelme/outPicture/'
trainlist=os.listdir(path)
i=0
def resizeimage(readpath,savepath,width,height):
try:
# print(savepath)
print(readpath)
#调用cv2.imread读取图片,读入格式为IMREAD_COLOR
#使用os.path模块的join方法生成路径
img_array=cv2.imread(readpath,cv2.IMREAD_COLOR)
#调用cv2.resize函数resize图片
new_array=cv2.resize(img_array,(width,height)) #缩小像素
#生成图片存储的目标路径
save_path=os.path.join(savepath,item)
# print(save_path)
#调用cv2的imwrite函数保存图片
cv2.imwrite(save_path,new_array)
except Exception as e:
print(e)
for item in trainlist:
# print(item.title())
m_path=os.path.join(path,item)
m_num_folder=len(trainlist) #第一层文件夹的总数
print('m:total have %d folders'%(m_num_folder)) #打印第一层文件夹的总数
if item.endswith('.jpg'):
# 修改图片
resizeimage(m_path, os.path.abspath(outpath), 512, 512)
# 重命名保存
# 获取拆分后的名
name = os.path.splitext(item)
# print(name[0])
# print(name[1])
# 获取名称后缀
picType = name[1]
src = os.path.join(os.path.abspath(outpath), item)
dst = os.path.join(os.path.abspath(outpath), '%d'%i + picType)
try:
os.rename(src, dst)
print('have rename somePic=' + src + ';' + dst)
i += 1
except:
continue
print('total %d to converted %d jpg' % (m_num_folder, i))
标签:join,python,裁剪,cv2,item,print,path,os,图片 来源: https://blog.csdn.net/xiaoyifeishuang1/article/details/117441682
本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享; 2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关; 3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关; 4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除; 5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。