Python批量将图片转换为黑白及颜色反转实现

Felix
Felix
发布时间:2026-10-14| 5人浏览过
原创

本文介绍了使用Python批量处理图片的两种方法。首先利用OpenCV库将指定目录下的图片转换为黑白灰度图,并提供了处理中文文件名导致读取失败的重命名方案。其次,通过PIL和NumPy库实现图片颜色反转(反色)处理。代码包含完整的文件遍历、格式判断及保存逻辑,适用于批量图像预处理场景。

Python批量图片转黑白实现

本文分享使用Python批量将图片转换为黑白效果的完整代码示例,供读者参考。

实现该功能主要依赖OpenCV和os两个库。

核心代码解析


import cv2
import os


def re_name(path):
 files = os.listdir(path)
 for i, file in enumerate(files):
 try:
  new_file_name = os.path.join(path, str(i) + '.jpg')
  old_file_name = os.path.join(path, file)
  os.rename(old_file_name, new_file_name)
 except:
  continue


def gray_pic(path):
 files = os.listdir(path)
 for file in enumerate(files):
 try:
  pic = path + "\\" + str(file[1])
  original_img = cv2.imread(pic)
  gray = cv2.cvtColor(original_img, cv2.COLOR_BGR2GRAY)
  cv2.imwrite(path + "\\" + str(file[1]), gray)
 except:
  continue


path = r'C:\Users\94090\Desktop\gray'
#re_name(path)
gray_pic(path)

需要注意的是:

  • 若图片文件名包含中文字符,需先进行重命名处理,否则可能导致读取或保存异常。
  • 示例中通过数字序号对文件进行重新编号,以解决中文文件名问题。

Python批量图片颜色反转处理

此外,本文还补充了一段实用的Python代码,用于批量处理图片的颜色反转(反色)效果。

颜色反转代码示例


#coding:utf-8
import os
from PIL import Image
import numpy as np
 
def resize(imgPath,savePath):
 files = os.listdir(imgPath)
 files.sort()
 print('****************')
 print('input :',imgPath)
 print('start...')
 for file in files:
 fileType = os.path.splitext(file)
 if fileType[1] == '.jpg':
  new_png = Image.open(imgPath+'/'+file) #打开图片
  #new_png = new_png.resize((20, 20),Image.ANTIALIAS) #改变图片大小
  matrix = 255-np.asarray(new_png) #图像转矩阵 并反色
  new_png = Image.fromarray(matrix) #矩阵转图像
  new_png.save(savePath+'/'+file) #保存图片
 print('down!')
 print('****************')
 
if __name__ == '__main__':
 # 待处理图片地址
 dataPath = 'F:\\clean_images\\profiles\\'
 #保存图片的地址
 savePath = 'F:\\clean_images\\new_mask\\'
 resize(dataPath,savePath)

以上内容为本文的全部分享,希望能为读者的学习提供便利,欢迎继续支持本站获取更多技术资源。

相关标签:

免责声明:本文内容仅供参考,不代表本站观点。转载或引用请注明出处。

Python 相关产品和应用

全部下载
Selenium

Selenium

4.51.0 · Windows

用于浏览器自动化和 Web 测试的 Python 工具。

scikit-learn

scikit-learn

1.9.1 · Windows

常用 Python 机器学习算法与模型评估工具库。

Black

Black

26.10.1 · Windows

强调一致性的 Python 自动代码格式化工具。

Ruff

Ruff

0.17.1 · macOS

由 Rust 编写的高速 Python 代码检查和格式化工具。

pytest

pytest

9.1.1 · Windows

简洁而强大的 Python 自动化测试框架。

FastAPI

FastAPI

0.146.0 · Windows

高性能 Python API 框架,支持类型提示和自动接口文档。

Flask

Flask

3.1.3 · Windows

轻量灵活的 Python Web 应用框架。

Django

Django

6.1.2 · Windows

成熟的 Python Web 框架,适合构建内容站点和业务系统。

Spyder

Spyder

6.1.7 · Windows

面向科学计算与数据分析的 Python 集成开发环境。

SciPy

SciPy

1.18.1 · Windows

面向科学、工程和技术计算的 Python 算法库。