利用Python將彩色圖像轉(zhuǎn)為灰度圖像的兩種方法
第一種方法
Python的cv2庫(kù)中自帶彩色轉(zhuǎn)灰度的方法,而且非常簡(jiǎn)單,代碼就9行,核心代碼就1行。
大題思路就是先讀取一張彩色圖片,然后在窗口中顯示出來(lái),再然后就讓cv2處理一下,轉(zhuǎn)換成灰度圖像,這時(shí)候它是個(gè)二維的灰度矩陣,所以,我們想保存得先將它從array轉(zhuǎn)成image,最后在另一個(gè)窗口中顯示出來(lái),為了避免窗口一閃而過(guò),我們需要加上waitKey(0)這一句。
import cv2
from PIL import Image
#讀取彩色圖像
color_img = cv2.imread(r'dataset3/beauty.jpg')
#在窗口中顯示圖像,該窗口和圖像的原始大小自適應(yīng)
cv2.imshow('original image',color_img)
#cvtColor的第一個(gè)參數(shù)是處理的圖像,第二個(gè)是RGB2GRAY
gray_img=cv2.cvtColor(color_img,cv2.COLOR_RGB2GRAY)
#gray_img此時(shí)還是二維矩陣表示,所以要實(shí)現(xiàn)array到image的轉(zhuǎn)換
gray=Image.fromarray(gray_img)
#將圖片保存到當(dāng)前路徑下,參數(shù)為保存的文件名
gray.save('gray.jpg')
cv2.imshow('Gray Image',gray_img)
#如果想讓窗口持久停留,需要使用該函數(shù)
cv2.waitKey(0)


第二種方法
PIL中的Image庫(kù)也自帶轉(zhuǎn)灰度圖像的方法,然后再用pyplot顯示在畫(huà)布上就行了。一共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 批量將圖片轉(zhuǎn)為灰度圖
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)
總結(jié)
到此這篇關(guān)于利用Python將彩色圖像轉(zhuǎn)為灰度圖像的文章就介紹到這了,更多相關(guān)Python彩色圖像轉(zhuǎn)為灰度圖像內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
python 日志模塊logging的使用場(chǎng)景及示例
這篇文章主要介紹了python 日志模塊logging的使用場(chǎng)景及示例,幫助大家更好的理解和使用python,感興趣的朋友可以了解下2021-01-01
Python字符串的常見(jiàn)操作實(shí)例小結(jié)
這篇文章主要介紹了Python字符串的常見(jiàn)操作,結(jié)合實(shí)例形式總結(jié)分析了Python字符串的查詢、轉(zhuǎn)換、分割、計(jì)算等相關(guān)操作技巧,需要的朋友可以參考下2019-04-04
Python實(shí)現(xiàn)telnet服務(wù)器的方法
這篇文章主要介紹了Python實(shí)現(xiàn)telnet服務(wù)器的方法,涉及Python通過(guò)Telnet連接服務(wù)器的相關(guān)技巧,具有一定參考借鑒價(jià)值,需要的朋友可以參考下2015-07-07
python?實(shí)現(xiàn)?mp3Play?音頻播放
這篇文章主要介紹了python?實(shí)現(xiàn)?mp3Play?音頻播放,文章基于python的相關(guān)資料展開(kāi)詳細(xì)內(nèi)容,具有一定的參考價(jià)值需要的小伙伴可以參考一下2022-04-04
Pytorch中如何調(diào)用forward()函數(shù)
這篇文章主要介紹了Pytorch中如何調(diào)用forward()函數(shù)問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2023-02-02
Python機(jī)器學(xué)習(xí)入門(三)之Python數(shù)據(jù)準(zhǔn)備
這篇文章主要介紹了Python機(jī)器學(xué)習(xí)入門知識(shí),本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2021-08-08

