Home  >  Article  >  Backend Development  >  How to batch convert images in bmp format to jpg in Python

How to batch convert images in bmp format to jpg in Python

PHPz
PHPzforward
2023-04-28 09:22:142311browse

将bmp格式的图片批量转成jpg

# *_* coding : UTF-8 *_*
# 开发人员: csu·pan-_-||
# 开发时间: 2020/11/21 12:40
# 文件名称: bmp_to_jpg.py
# 开发工具: PyCharm
# 功能描述: 将bmp格式的图片批量转成jpg

import os
import cv2

# 图片的路径
bmp_dir = r'E:\Projects\bmp'
jpg_dir = r'E:\Projects\jpg'

filelists = os.listdir(bmp_dir)

for i,file in enumerate(filelists):
    # 读图,-1为不改变图片格式,0为灰度图  
    img = cv2.imread(os.path.join(bmp_dir,file),-1)
    newName = file.replace('.bmp','.jpg')
    cv2.imwrite(os.path.join(jpg_dir,newName),img)
    print('第%d张图:%s'%(i+1,newName))

python图像格式转换(bmp、jpg、png)

bmp转png

import os
from PIL import Image
json_dir = r"D:\BMP2PNG"
label_names = os.listdir(json_dir)
label_dir = []
for filename in label_names:
    label_dir.append(os.path.join(json_dir,filename))

for i,filename in enumerate(label_dir):

    im = Image.open(filename)  # open ppm file

    newname = label_names[i].split('.')[0] + '.png'  # new name for png file
    im.save(os.path.join(json_dir,newname))

bmp转jpg

import os
from PIL import Image
json_dir = r"D:\BMP2JPG"
label_names = os.listdir(json_dir)
label_dir = []
for filename in label_names:
    label_dir.append(os.path.join(json_dir,filename))

for i,filename in enumerate(label_dir):

    im = Image.open(filename)  # open ppm file

    newname = label_names[i].split('.')[0] + '.jpg'  # new name for png file
    im.save(os.path.join(json_dir,newname))

遍历文件夹下包含子文件夹中的所有bmp转png

import os
from PIL import Image
import tqdm

def bmp2png(file_dir):
    for root, dirs, files in os.walk(file_dir):  # 获取所有文件
        # for file in files:  # 遍历所有文件名
        for idx,file in enumerate(tqdm.tqdm(files)):
            if os.path.splitext(file)[1] == '.bmp':   # 指定尾缀  ***重要***
                im = Image.open(os.path.join(root, file))  # open img file
                newname = file.split('.')[0] + '.png'  # new name for png file
                im.save(os.path.join(root, newname))  # 转为png

bmp2png(r"D:\数据集\20221105-18")

遍历文件夹下包含子文件夹中的所有bmp重命名为png

import os
from PIL import Image
import tqdm

def bmp2png(file_dir):
    for root, dirs, files in os.walk(file_dir):  # 获取所有文件
        # for file in files:  # 遍历所有文件名
        for idx,file in enumerate(tqdm.tqdm(files)):
            if os.path.splitext(file)[1] == '.bmp':   # 指定尾缀  ***重要***
                newname = file.split('.')[0] + '.png'  # new name for png file
                if(os.path.exists(os.path.join(root, newname))):
                    os.remove(os.path.join(root, newname))
                os.rename(os.path.join(root, file),os.path.join(root, newname))
                print(os.path.join(root, file))

bmp2png(r"D:\PUCP数据集\20221105-18")

The above is the detailed content of How to batch convert images in bmp format to jpg in Python. For more information, please follow other related articles on the PHP Chinese website!

Statement:
This article is reproduced at:yisu.com. If there is any infringement, please contact admin@php.cn delete