使用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è)文件的方法,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2018-04-04Python 使用tempfile包輕松無痕的運(yùn)行代碼
大家好,我們知道軟件運(yùn)行過程中一般會在指定位置生成臨時(shí)文件,這些資源不要輕易刪除,可能是過程文件,定時(shí)清理是必要的,今天給大家分享一款工具:tempfile,喜歡本文點(diǎn)贊支持,歡迎收藏學(xué)習(xí)2021-11-11pycharm遠(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-03Python利用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