1.获取图片目录并不同格式图片分开
jpgs,pngs,webp = [],[],[]
imgs = os.listdir(path)
for img in imgs:
if img.endswith('.jpg'):
jpgs.append(img)
elif img.endswith('.png'):
pngs.append(img)
elif img.endswith('.webp'):
webp.append(img)
else:
pass
2.图片转换
for jpg in jpgs:
img = cv2.imread(path+jpg)
img_name = jpg.split('.jpg')[0]
cv2.imwrite(path+img_name+'.png',img)
3.完成代码
import cv2
import os
def get_imgs(path):
jpgs,pngs,webp = [],[],[]
imgs = os.listdir(path)
for img in imgs:
if img.endswith('.jpg'):
jpgs.append(img)
elif img.endswith('.png'):
pngs.append(img)
elif img.endswith('.webp'):
webp.append(img)
else:
pass
return jpgs,pngs,webp
def img_transform(option,path):
if not path.endswith('/'):
path = path + '/'
jpgs,pngs,webp = get_imgs(path)
if option == '1':
for jpg in jpgs:
img = cv2.imread(path+jpg)
img_name = jpg.split('.jpg')[0]
cv2.imwrite(path+img_name+'.png',img)
elif option == '2':
for png in pngs:
img = cv2.imread(path+png)
img_name = png.split('.png')[0]
cv2.imwrite(path+img_name+'.jpg',img)
elif option == '3':
for wp in webp:
img = cv2.imread(path+wp)
img_name = wp.split('.webp')[0]
cv2.imwrite(path+img_name+'.jpg',img)
elif option == '4':
for wp in webp:
img = cv2.imread(path + wp)
img_name = wp.split('.webp')[0]
cv2.imwrite(path + img_name + '.png', img)
else:
print('请输入正确数字!!')
def main():
items = ['1-(jpg转换为png)', '2-(png转换为jpg)', '3-(webp转换为jpg)', '4-(webp转换为png)', '提示(除1-4数字外,任意键均不操作)']
print(f"{items[0]:<20} {items[1]:<20} {items[2]:<20} {items[3]:<20} {items[4]:<20}")
print('*-*' * 42)
option = input('请选择导出数据的选项(例如:1或2..):')
path = input('请填写图片路径(例如:E:\photo\):')
img_transform(option,path)
print('*-*' * 18 + '图片转换完毕!' + '*-*' * 19 )
if __name__ == '__main__':
main()