使用Python進(jìn)行圖像批處理的方法示例
前言
在Python中進(jìn)行圖像批處理可以使用多種庫,如 Pillow、OpenCV 和 imageio。這些庫可以用來執(zhí)行各種圖像處理任務(wù),如調(diào)整大小、裁剪、旋轉(zhuǎn)、濾鏡應(yīng)用等。以下是使用這些庫進(jìn)行圖像批處理的示例。
使用 Pillow 進(jìn)行圖像批處理
Pillow 是一個(gè)功能強(qiáng)大的圖像處理庫。下面是如何使用 Pillow 進(jìn)行圖像批處理的基本示例:
- 安裝 Pillow
pip install pillow
- 批處理圖像
from PIL import Image
import os
def process_image(file_path, output_path):
with Image.open(file_path) as img:
# 示例處理:調(diào)整大小
img = img.resize((800, 800))
# 示例處理:應(yīng)用濾鏡
img = img.convert('L') # 轉(zhuǎn)為灰度圖
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 進(jìn)行圖像批處理
OpenCV 是一個(gè)功能強(qiáng)大的計(jì)算機(jī)視覺庫,適用于更復(fù)雜的圖像處理任務(wù)。下面是如何使用 OpenCV 進(jìn)行圖像批處理的示例:
- 安裝 OpenCV
pip install opencv-python
- 批處理圖像
import cv2
import os
def process_image(file_path, output_path):
# 讀取圖像
img = cv2.imread(file_path)
# 示例處理:調(diào)整大小
img = cv2.resize(img, (800, 800))
# 示例處理:將圖像轉(zhuǎn)換為灰度
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 進(jìn)行圖像批處理
imageio 是另一個(gè)圖像處理庫,支持多種圖像格式和文件類型。
- 安裝 imageio
pip install imageio
- 批處理圖像
import imageio
import os
def process_image(file_path, output_path):
img = imageio.imread(file_path)
# 示例處理:調(diào)整大小
img_resized = imageio.imresize(img, (800, 800))
# 示例處理:轉(zhuǎn)換為灰度
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')
總結(jié)
- Pillow 適合基本的圖像處理任務(wù),如調(diào)整大小、裁剪、濾鏡應(yīng)用等。
- OpenCV 適合更復(fù)雜的計(jì)算機(jī)視覺任務(wù),如圖像變換、特征檢測等。
- imageio 提供了簡潔的接口,適用于讀取和保存各種圖像格式。
你可以根據(jù)具體的需求選擇合適的庫來進(jìn)行圖像批處理。以上示例展示了如何處理圖像的基本任務(wù),你可以在這些基礎(chǔ)上擴(kuò)展和自定義更多的圖像處理功能。
以上就是使用Python進(jìn)行圖像批處理的方法示例的詳細(xì)內(nèi)容,更多關(guān)于Python圖像批處理的資料請關(guān)注腳本之家其它相關(guān)文章!
相關(guān)文章
將TensorFlow的模型網(wǎng)絡(luò)導(dǎo)出為單個(gè)文件的方法
本篇文章主要介紹了將TensorFlow的網(wǎng)絡(luò)導(dǎo)出為單個(gè)文件的方法,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2018-04-04
Python 使用tempfile包輕松無痕的運(yùn)行代碼
大家好,我們知道軟件運(yùn)行過程中一般會在指定位置生成臨時(shí)文件,這些資源不要輕易刪除,可能是過程文件,定時(shí)清理是必要的,今天給大家分享一款工具:tempfile,喜歡本文點(diǎn)贊支持,歡迎收藏學(xué)習(xí)2021-11-11
pycharm遠(yuǎn)程連接服務(wù)器并配置python interpreter的方法
這篇文章主要介紹了pycharm遠(yuǎn)程連接服務(wù)器并配置python interpreter的方法,本文通過圖文并茂的形式給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2020-12-12
解決pycharm不能自動補(bǔ)全第三方庫的函數(shù)和屬性問題
這篇文章主要介紹了解決pycharm不能自動補(bǔ)全第三方庫的函數(shù)和屬性問題,具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧2020-03-03
Python利用Pillow(PIL)庫實(shí)現(xiàn)驗(yàn)證碼圖片的全過程
這篇文章主要給大家介紹了關(guān)于Python利用Pillow(PIL)庫實(shí)現(xiàn)驗(yàn)證碼圖片的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2020-10-10

