使用Python進行圖像批處理的方法示例
前言
在Python中進行圖像批處理可以使用多種庫,如 Pillow、OpenCV 和 imageio。這些庫可以用來執(zhí)行各種圖像處理任務,如調整大小、裁剪、旋轉、濾鏡應用等。以下是使用這些庫進行圖像批處理的示例。
使用 Pillow 進行圖像批處理
Pillow 是一個功能強大的圖像處理庫。下面是如何使用 Pillow 進行圖像批處理的基本示例:
- 安裝 Pillow
pip install pillow
- 批處理圖像
from PIL import Image
import os
def process_image(file_path, output_path):
with Image.open(file_path) as img:
# 示例處理:調整大小
img = img.resize((800, 800))
# 示例處理:應用濾鏡
img = img.convert('L') # 轉為灰度圖
img.save(output_path)
def batch_process_images(input_folder, output_folder):
if not os.path.exists(output_folder):
os.makedirs(output_folder)
for filename in os.listdir(input_folder):
if filename.lower().endswith(('.png', '.jpg', '.jpeg')):
file_path = os.path.join(input_folder, filename)
output_path = os.path.join(output_folder, filename)
process_image(file_path, output_path)
# 示例使用
batch_process_images('input_images', 'output_images')
使用 OpenCV 進行圖像批處理
OpenCV 是一個功能強大的計算機視覺庫,適用于更復雜的圖像處理任務。下面是如何使用 OpenCV 進行圖像批處理的示例:
- 安裝 OpenCV
pip install opencv-python
- 批處理圖像
import cv2
import os
def process_image(file_path, output_path):
# 讀取圖像
img = cv2.imread(file_path)
# 示例處理:調整大小
img = cv2.resize(img, (800, 800))
# 示例處理:將圖像轉換為灰度
img = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)
cv2.imwrite(output_path, img)
def batch_process_images(input_folder, output_folder):
if not os.path.exists(output_folder):
os.makedirs(output_folder)
for filename in os.listdir(input_folder):
if filename.lower().endswith(('.png', '.jpg', '.jpeg')):
file_path = os.path.join(input_folder, filename)
output_path = os.path.join(output_folder, filename)
process_image(file_path, output_path)
# 示例使用
batch_process_images('input_images', 'output_images')
使用 imageio 進行圖像批處理
imageio 是另一個圖像處理庫,支持多種圖像格式和文件類型。
- 安裝 imageio
pip install imageio
- 批處理圖像
import imageio
import os
def process_image(file_path, output_path):
img = imageio.imread(file_path)
# 示例處理:調整大小
img_resized = imageio.imresize(img, (800, 800))
# 示例處理:轉換為灰度
img_gray = imageio.rgb2gray(img_resized)
imageio.imwrite(output_path, img_gray)
def batch_process_images(input_folder, output_folder):
if not os.path.exists(output_folder):
os.makedirs(output_folder)
for filename in os.listdir(input_folder):
if filename.lower().endswith(('.png', '.jpg', '.jpeg')):
file_path = os.path.join(input_folder, filename)
output_path = os.path.join(output_folder, filename)
process_image(file_path, output_path)
# 示例使用
batch_process_images('input_images', 'output_images')
總結
- Pillow 適合基本的圖像處理任務,如調整大小、裁剪、濾鏡應用等。
- OpenCV 適合更復雜的計算機視覺任務,如圖像變換、特征檢測等。
- imageio 提供了簡潔的接口,適用于讀取和保存各種圖像格式。
你可以根據具體的需求選擇合適的庫來進行圖像批處理。以上示例展示了如何處理圖像的基本任務,你可以在這些基礎上擴展和自定義更多的圖像處理功能。
以上就是使用Python進行圖像批處理的方法示例的詳細內容,更多關于Python圖像批處理的資料請關注腳本之家其它相關文章!
相關文章
pycharm遠程連接服務器并配置python interpreter的方法
這篇文章主要介紹了pycharm遠程連接服務器并配置python interpreter的方法,本文通過圖文并茂的形式給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下2020-12-12
解決pycharm不能自動補全第三方庫的函數(shù)和屬性問題
這篇文章主要介紹了解決pycharm不能自動補全第三方庫的函數(shù)和屬性問題,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2020-03-03
Python利用Pillow(PIL)庫實現(xiàn)驗證碼圖片的全過程
這篇文章主要給大家介紹了關于Python利用Pillow(PIL)庫實現(xiàn)驗證碼圖片的相關資料,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧2020-10-10

