利用Python將彩色圖像轉為灰度圖像的兩種方法
第一種方法
Python的cv2庫中自帶彩色轉灰度的方法,而且非常簡單,代碼就9行,核心代碼就1行。
大題思路就是先讀取一張彩色圖片,然後在窗口中顯示出來,再然後就讓cv2處理一下,轉換成灰度圖像,這時候它是個二維的灰度矩陣,所以,我們想保存得先將它從array轉成image,最後在另一個窗口中顯示出來,為瞭避免窗口一閃而過,我們需要加上waitKey(0)這一句。
import cv2 from PIL import Image #讀取彩色圖像 color_img = cv2.imread(r'dataset3/beauty.jpg') #在窗口中顯示圖像,該窗口和圖像的原始大小自適應 cv2.imshow('original image',color_img) #cvtColor的第一個參數是處理的圖像,第二個是RGB2GRAY gray_img=cv2.cvtColor(color_img,cv2.COLOR_RGB2GRAY) #gray_img此時還是二維矩陣表示,所以要實現array到image的轉換 gray=Image.fromarray(gray_img) #將圖片保存到當前路徑下,參數為保存的文件名 gray.save('gray.jpg') cv2.imshow('Gray Image',gray_img) #如果想讓窗口持久停留,需要使用該函數 cv2.waitKey(0)
第二種方法
PIL中的Image庫也自帶轉灰度圖像的方法,然後再用pyplot顯示在畫佈上就行瞭。一共8行代碼,核心代碼就1行。
from PIL import Image from matplotlib import pyplot as plt color_img=Image.open('dataset3/beauty.jpg') gray_img=color_img.convert('L') plt.figure('beauty') plt.imshow(gray_img,cmap='gray') plt.axis('off') plt.show()
python 批量將圖片轉為灰度圖
from PIL import Image import os path = 'F:/QUEXIANJIANCESHIYAN/posdata' file_list = os.listdir(path) for file in file_list: I = Image.open(path+"/"+file) L = I.convert('L') L.save(path+"/"+file) #print(file)
總結
到此這篇關於利用Python將彩色圖像轉為灰度圖像的文章就介紹到這瞭,更多相關Python彩色圖像轉為灰度圖像內容請搜索WalkonNet以前的文章或繼續瀏覽下面的相關文章希望大傢以後多多支持WalkonNet!
推薦閱讀:
- Python OpenCV 彩色與灰度圖像的轉換實現
- Python圖像運算之圖像點運算與灰度化處理詳解
- Python 實現圖像特效中的油畫效果
- 2021年最新用於圖像處理的Python庫總結
- 基於Python的OpenCV骨架化圖像並顯示(skeletonize)