网站建设中企动力最佳a4,利用ionic做的网站,wordpress优化打开速度插件,如何设置友情链接前言
常见的图像任务通常需要把照片统一成相同的格式#xff0c;所以此文章正是为了统一格式而生#xff0c;常见的主要有cv2和PIL.Image的相关操作#xff0c;照片格式是一串数字加上后缀名 工具一#xff1a;cv2
pip install opencv-python
之后就可以
import cv2 1.…前言
常见的图像任务通常需要把照片统一成相同的格式所以此文章正是为了统一格式而生常见的主要有cv2和PIL.Image的相关操作照片格式是一串数字加上后缀名 工具一cv2
pip install opencv-python
之后就可以
import cv2 1.1 导包
import osimport cv2import sysimport numpy as np 1.2 路径设置
path rC:\\Users\\86775\\test_change\\
path2 rC:\\Users\\86775\\test_change2\\ 1.3 改格式重新传
1.3.1 用os.path.splitext()来判断
images os.listdir(path)
for i in os.listdir(path):print(os.path.splitext(i)) # (34474006827920603, .png)if os.path.splitext(i)[1] .jpeg:img cv2.imread(path i)# print(img)new_imagename i.replace(.jpeg, .jpg)cv2.imwrite(path2 new_imagename, img)elif os.path.splitext(i)[1] .png:img cv2.imread(path i)# print(img)new_imagename i.replace(.png, .jpg)cv2.imwrite(path2 new_imagename, img)elif os.path.splitext(i)[1] .JPG:img cv2.imread(path i)# print(img)new_imagename i.replace(.JPG, .jpg)cv2.imwrite(path2 new_imagename, img)elif os.path.splitext(i)[1] .PNG:img cv2.imread(path i)# print(img)new_imagename i.replace(.PNG, .jpg)cv2.imwrite(path2 new_imagename, img)elif os.path.splitext(i)[1] .jpg:img cv2.imread(path i)# print(img)cv2.imwrite(path2 i, img)
1.3.2 用split()来判断
images os.listdir(path)
for i in os.listdir(path):print(i.split(.))if i.split(.)[1] jpeg:img cv2.imread(path i)# print(img)new_imagename i.replace(.jpeg, .jpg)cv2.imwrite(path2 new_imagename, img)elif i.split(.)[1] png:img cv2.imread(path i)# print(img)new_imagename i.replace(.png, .jpg)cv2.imwrite(path2 new_imagename, img)elif i.split(.)[1] JPG:img cv2.imread(path i)# print(img)new_imagename i.replace(.JPG, .jpg)cv2.imwrite(path2 new_imagename, img)elif i.split(.)[1] PNG:img cv2.imread(path i)# print(img)new_imagename i.replace(.PNG, .jpg)cv2.imwrite(path2 new_imagename, img)elif i.split(.)[1] jpg:img cv2.imread(path i)# print(img)cv2.imwrite(path2 i, img) 1.4 查看结果 工具二pillow
pip install pillow
之后就可以
from PIL import Image 2.1 导包
import osfrom PIL import Image 2.2 路径设置
path rC:\\Users\\86775\\test_change\\
path2 rC:\\Users\\86775\\test_change2\\ 2.3 写格式修改函数
RGBA意思是红色绿色蓝色Alpha的色彩空间Alpha指透明度而JPG不支持透明度。 所以其他格式不转jpg可以直接保存为.png格式转jpg就需要丢弃Alpha img img.convert(“RGB”)转换成RGB保证和jpg格式的通道数相同也算一种图片类型变换的防报错机制
def jpeg2jpg(path_in, path_out):img Image.open(path_in)img img.convert(RGB)img.save(path_out, JPEG, quality80, optimizeTrue, progressiveTrue)def png2jpg(path_in, path_out):img Image.open(path_in)img img.convert(RGB)img.save(path_out, JPEG, quality80, optimizeTrue, progressiveTrue)def JPG2jpg(path_in, path_out):img Image.open(path_in)img img.convert(RGB)img.save(path_out, JPEG, quality80, optimizeTrue, progressiveTrue)def PNG2jpg(path_in, path_out):img Image.open(path_in)img img.convert(RGB)img.save(path_out, JPEG, quality80, optimizeTrue, progressiveTrue)def jpg2jpg(path_in, path_out):img Image.open(path_in)img img.convert(RGB)img.save(path_out, JPEG, quality80, optimizeTrue, progressiveTrue) 2.4 开始转换
images os.listdir(path1)
for i in images:print(i)if os.path.splitext(i)[1] .jpeg:source path1 \\ str(i.split(.)[0]) .jpegtarget path2 \\ str(i.split(.)[0]) .jpgjpeg2jpg(source, target)elif os.path.splitext(i)[1] .png:source path1 \\ str(i.split(.)[0]) .pngtarget path2 \\ str(i.split(.)[0]) .jpgpng2jpg(source, target)elif os.path.splitext(i)[1] .JPG:source path1 \\ str(i.split(.)[0]) .JPGtarget path2 \\ str(i.split(.)[0]) .jpgJPG2jpg(source, target)elif os.path.splitext(i)[1] .PNG:source path1 \\ str(i.split(.)[0]) .PNGtarget path2 \\ str(i.split(.)[0]) .jpgPNG2jpg(source, target)elif os.path.splitext(i)[1] .jpg:source path1 \\ str(i.split(.)[0]) .jpgtarget path2 \\ str(i.split(.)[0]) .jpgjpg2jpg(source, target) 2.5 查看结果