怎么用脚本转换图片为灰度

wen 实用脚本 2

本文目录导读:

怎么用脚本转换图片为灰度

  1. Python + PIL/Pillow(最常用)
  2. Python + OpenCV
  3. 批量转换脚本
  4. 命令行工具(Imagemagick)
  5. Node.js 版本
  6. 安装依赖

Python + PIL/Pillow(最常用)

from PIL import Image
def convert_to_grayscale(input_path, output_path):
    # 打开图片
    img = Image.open(input_path)
    # 转换为灰度
    gray_img = img.convert('L')
    # 保存
    gray_img.save(output_path)
# 使用示例
convert_to_grayscale('input.jpg', 'output_grayscale.jpg')

Python + OpenCV

import cv2
def convert_to_grayscale_cv(input_path, output_path):
    # 读取图片
    img = cv2.imread(input_path)
    # 转换为灰度
    gray_img = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)
    # 保存
    cv2.imwrite(output_path, gray_img)
# 使用示例
convert_to_grayscale_cv('input.jpg', 'output_grayscale.jpg')

批量转换脚本

import os
from PIL import Image
def batch_convert_grayscale(input_folder, output_folder):
    # 创建输出文件夹
    os.makedirs(output_folder, exist_ok=True)
    # 遍历所有图片
    for filename in os.listdir(input_folder):
        if filename.lower().endswith(('.png', '.jpg', '.jpeg', '.bmp')):
            input_path = os.path.join(input_folder, filename)
            output_path = os.path.join(output_folder, f'gray_{filename}')
            # 转换
            img = Image.open(input_path)
            gray_img = img.convert('L')
            gray_img.save(output_path)
            print(f'已转换: {filename}')
# 使用示例
batch_convert_grayscale('input_images/', 'output_images/')

命令行工具(Imagemagick)

# 安装 Imagemagick 后使用
convert input.jpg -colorspace Gray output.jpg
# 批量转换
for f in *.jpg; do convert "$f" -colorspace Gray "gray_$f"; done

Node.js 版本

const sharp = require('sharp');
async function convertToGrayscale(input, output) {
    try {
        await sharp(input)
            .grayscale()
            .toFile(output);
        console.log('转换完成');
    } catch (error) {
        console.error('转换失败:', error);
    }
}
// 使用示例
convertToGrayscale('input.jpg', 'output_grayscale.jpg');

安装依赖

# Python
pip install Pillow opencv-python
# Node.js
npm install sharp
# Imagemagick (Ubuntu/Debian)
sudo apt-get install imagemagick
# Imagemagick (Mac)
brew install imagemagick

选择哪种方法取决于你的需求和环境:

  • Pillow:简单易用,适合大多数场景
  • OpenCV:适合需要更多图像处理功能
  • Imagemagick:命令行操作,适合批量处理
  • Sharp:Node.js环境,性能好

抱歉,评论功能暂时关闭!