使用python裁剪图片
1,编译的时候在Win10系统,然后将代码同步到Ubuntu上面。利用Ubuntu的GPU优势运行代码2,需要Ubuntu系统:安装了python,建议安装AnacondaWin10系统安装pychram 专业版,社区版tool选项没有development项。开始进入同步步骤了:(每个项目如果新建都需要重新来一次步骤!!!)如图同步步骤:1,打开pycharm软件,创建新的项目,随便写个py文件
·
这个类主要是将图片裁剪成所需的分辨率,宽高可以自己设置。批量裁剪同一个文件夹下面的全部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))
更多推荐
已为社区贡献2条内容
所有评论(0)