本文目录导读:

使用 Python + Pillow 库
from PIL import Image
import os
# 单文件转换
def convert_image(input_path, output_path, output_format):
"""
转换图片格式
input_path: 输入文件路径
output_path: 输出文件路径
output_format: 输出格式 (如 'PNG', 'JPEG', 'WEBP', 'BMP')
"""
img = Image.open(input_path)
img.save(output_path, format=output_format)
# 批量转换
def batch_convert(input_dir, output_dir, target_format):
"""批量转换文件夹内所有图片"""
os.makedirs(output_dir, exist_ok=True)
for filename in os.listdir(input_dir):
if filename.lower().endswith(('.png', '.jpg', '.jpeg', '.bmp', '.webp')):
input_path = os.path.join(input_dir, filename)
# 修改扩展名
output_filename = os.path.splitext(filename)[0] + f'.{target_format.lower()}'
output_path = os.path.join(output_dir, output_filename)
try:
img = Image.open(input_path)
img.save(output_path, format=target_format)
print(f"转换成功: {filename} -> {output_filename}")
except Exception as e:
print(f"转换失败: {filename}, 错误: {e}")
# 使用示例
if __name__ == "__main__":
# 单文件转换
convert_image('input.jpg', 'output.png', 'PNG')
# 批量转换
batch_convert('./images', './converted', 'PNG')
使用 OpenCV
import cv2
import os
def convert_with_opencv(input_path, output_path):
"""
使用OpenCV转换图片格式
支持: jpg, png, bmp, webp等
"""
# 读取图片
img = cv2.imread(input_path)
if img is None:
print(f"无法读取图片: {input_path}")
return False
# 保存为指定格式
success = cv2.imwrite(output_path, img)
return success
# 批量转换
def batch_convert_opencv(input_dir, output_dir, target_ext='.png'):
os.makedirs(output_dir, exist_ok=True)
for filename in os.listdir(input_dir):
if filename.lower().endswith(('.png', '.jpg', '.jpeg', '.bmp')):
input_path = os.path.join(input_dir, filename)
output_path = os.path.join(output_dir,
os.path.splitext(filename)[0] + target_ext)
if convert_with_opencv(input_path, output_path):
print(f"转换成功: {filename}")
else:
print(f"转换失败: {filename}")
使用 ImageMagick (命令行工具)
# 安装 ImageMagick # macOS: brew install imagemagick # Ubuntu: sudo apt-get install imagemagick # 单文件转换 convert input.jpg output.png # 批量转换(将所有jpg转为png) mogrify -format png *.jpg # 转换并指定质量 convert input.jpg -quality 90 output.webp
Shell 脚本(Linux/macOS)
#!/bin/bash
# 批量转换脚本
# 用法: ./convert_images.sh input_dir output_dir output_format
INPUT_DIR="${1:-./images}"
OUTPUT_DIR="${2:-./converted}"
FORMAT="${3:-png}"
mkdir -p "$OUTPUT_DIR"
for file in "$INPUT_DIR"/*.{jpg,png,jpeg,bmp,webp}; do
if [ -f "$file" ]; then
filename=$(basename "$file")
name="${filename%.*}"
# 使用 ImageMagick 转换
convert "$file" "$OUTPUT_DIR/$name.$FORMAT"
echo "转换完成: $filename -> $name.$FORMAT"
fi
done
常用格式对比
| 格式 | 特点 | 适用场景 |
|---|---|---|
| JPEG | 有损压缩,文件小 | 照片、复杂图像 |
| PNG | 无损压缩,支持透明 | 图标、截图、UI元素 |
| WEBP | Google开发,压缩率高 | 网页图片 |
| BMP | 无压缩,文件大 | 需要高精度的场景 |
| GIF | 支持动画,256色 | 简单动画、图标 |
安装依赖
# Python依赖 pip install pillow # 或 pip install opencv-python # ImageMagick (如果使用命令行工具) # macOS brew install imagemagick # Ubuntu/Debian sudo apt-get install imagemagick
选择哪种方法取决于你的具体需求:
- 简单转换:使用 ImageMagick 命令行
- 需要编程控制:使用 Python + Pillow
- 需要图像处理:使用 OpenCV
版权声明:NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
足球直播
足球直播
足球直播
篮球直播
篮球直播
篮球直播
NBA直播
NBA直播
NBA直播
CBA直播
CBA直播
CBA直播
亚冠直播
亚冠直播
亚冠直播
欧冠直播
欧冠直播
欧冠直播
英超直播
英超直播
英超直播
西甲直播
西甲直播
西甲直播
中超直播
中超直播
中超直播
足球直播
足球直播
足球直播
篮球直播
篮球直播
篮球直播
NBA直播
NBA直播
NBA直播
CBA直播
CBA直播
CBA直播
亚冠直播
亚冠直播
亚冠直播
欧冠直播
欧冠直播
欧冠直播
英超直播
英超直播
英超直播
西甲直播
西甲直播
西甲直播
中超直播
中超直播
中超直播
足球直播
足球直播
足球直播
篮球直播
篮球直播
篮球直播
NBA直播
NBA直播
NBA直播
CBA直播
CBA直播
CBA直播
亚冠直播
亚冠直播
亚冠直播
欧冠直播
欧冠直播
欧冠直播
英超直播
英超直播
英超直播
西甲直播
西甲直播
西甲直播
中超直播
中超直播
中超直播
足球直播
足球直播
足球直播
篮球直播
篮球直播
篮球直播
NBA直播
NBA直播
NBA直播
CBA直播
CBA直播
CBA直播
亚冠直播
亚冠直播
亚冠直播
欧冠直播
欧冠直播
欧冠直播
英超直播
英超直播
英超直播
西甲直播
西甲直播
西甲直播
中超直播
中超直播
中超直播
曼联直播
曼联直播
曼联直播
日职联直播
日职联直播
日职联直播
澳超直播
澳超直播
澳超直播
阿森纳直播
阿森纳直播
阿森纳直播
足球直播
足球直播
足球直播
NBA直播
NBA直播
NBA直播
曼联直播
曼联直播
曼联直播
日职联直播
日职联直播
日职联直播
澳超直播
澳超直播
澳超直播
阿森纳直播
阿森纳直播
阿森纳直播
足球直播
足球直播
足球直播
NBA直播
NBA直播
NBA直播
曼联直播
曼联直播
曼联直播
日职联直播
日职联直播
日职联直播
澳超直播
澳超直播
澳超直播
阿森纳直播
阿森纳直播
阿森纳直播
足球直播
足球直播
足球直播
NBA直播
NBA直播
NBA直播
曼联直播
曼联直播
曼联直播
日职联直播
日职联直播
日职联直播
澳超直播
澳超直播
澳超直播
阿森纳直播
阿森纳直播
阿森纳直播
足球直播
足球直播
足球直播
NBA直播
NBA直播
NBA直播
欧冠直播
欧冠直播
欧冠直播
欧冠直播
欧冠直播
欧冠直播
欧冠直播
欧冠直播
欧冠直播
欧冠直播
欧冠直播
欧冠直播
欧冠直播
欧冠直播
欧冠直播
欧冠直播
欧冠直播
欧冠直播
欧冠直播
欧冠直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
足球直播
足球直播
足球直播
足球直播
足球直播
英超直播
英超直播
英超直播
英超直播
英超直播
篮球直播
篮球直播
篮球直播
篮球直播
篮球直播
CBA直播
CBA直播
CBA直播
CBA直播
CBA直播
中超直播
中超直播
中超直播
中超直播
中超直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
足球直播
足球直播
足球直播
足球直播
足球直播
英超直播
英超直播
英超直播
英超直播
英超直播
篮球直播
篮球直播
篮球直播
篮球直播
篮球直播
CBA直播
CBA直播
CBA直播
CBA直播
CBA直播
中超直播
中超直播
中超直播
中超直播
中超直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播