淺談python圖片處理Image和skimage的區(qū)別
做cnn的難免要做大量的圖片處理。由于接手項(xiàng)目時(shí)間不長(zhǎng),且是新項(xiàng)目,前段時(shí)間寫代碼都很趕,現(xiàn)在稍微總結(jié)(恩,總結(jié)是個(gè)好習(xí)慣)。
1,首先安裝python-Image和python-skimage、python-matplotlib。
簡(jiǎn)單代碼:
import Image as img import os from matplotlib import pyplot as plot from skimage import io,transform import argparse def show_data(data): fig = plot.figure() ax = fig.add_subplot(121) ax.imshow(data, cmap='gray') ax2 = fig.add_subplot(122) ax2.imshow(data) plot.show() if __name__ == "__main__": parse = argparse.ArgumentParser() parse.add_argument('--picpath', help = "the picture' path") args = parse.parse_args() img_file1 = img.open(args.picpath)#Image讀圖片 one_pixel = img_file1.getpixel((0,0))[0] print "picture's first pixe: ",one_pixel print "the picture's size: ", img_file1.size#Image讀出來(lái)的size是高寬 show_data(img_file1) img_file2 = io.imread(args.picpath)#skimage讀圖片 show_data(img_file2) print "picture's first pixel: ", img_file2[0][0][0] print "the picture's shape: ", img_file2.shape#skimage讀出來(lái)的shape是高,寬, 通道
調(diào)用及輸出:
其實(shí)Image讀出來(lái)的是PIL什么的類型,而skimage.io讀出來(lái)的數(shù)據(jù)是numpy格式的。如果想直接看Image和skimage讀出來(lái)圖片的區(qū)別,可以直接輸出它們讀圖片以后的返回結(jié)果。
2.Image和skimage讀圖片:
img_file1 = img.open(args.picpath) img_file2 = io.imread(args.picpath)
3.讀圖片后數(shù)據(jù)的大?。?/p>
print "the picture's size: ", img_file1.size print "the picture's shape: ", img_file2.shape
4.得到像素:
one_pixel = img_file1.getpixel((0,0))[0] img_file2[0][0][0]
分析:
1.從3的輸出可以看出img讀圖片的大小是圖片的(height,width);
skimage的是(height,width, channel)[這也是為什么caffe在單獨(dú)測(cè)試時(shí)要要在代碼中設(shè)置:transformer.set_transpose('data',(2,0,1)),因?yàn)閏affe可以處理的圖片的數(shù)據(jù)格式是(channel,height,width),所以要轉(zhuǎn)換數(shù)據(jù)啊]
2.img讀出來(lái)的圖片獲得某點(diǎn)像素用getpixel((h,w))可以直接返回這個(gè)點(diǎn)三個(gè)通道的像素值
skimage讀出來(lái)的圖片可以直接img_file2[0][0][0]獲得,但是一定記住它的格式,并不是你想的(channel,height,width)
關(guān)于matplotlib簡(jiǎn)單的畫圖請(qǐng)關(guān)注下篇~
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
Python?FastApi結(jié)合異步執(zhí)行方式
這篇文章主要介紹了Python?FastApi結(jié)合異步執(zhí)行方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2024-06-06基于CentOS搭建Python Django環(huán)境過程解析
這篇文章主要介紹了基于CentOS搭建Python Django環(huán)境過程解析,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2020-08-08Python利用pywin32庫(kù)實(shí)現(xiàn)將PPT導(dǎo)出為高清圖片
這篇文章主要為大家詳細(xì)介紹了Python如何利用pywin32庫(kù)實(shí)現(xiàn)將PPT導(dǎo)出為高清圖片的功能,文中的示例代講解詳細(xì),感興趣的小伙伴可以了解一下2023-01-01Python編寫可視化界面的詳細(xì)教程(Python+PyCharm+PyQt)
最近開始學(xué)習(xí)Python,但只限于看理論,編幾行代碼,覺得沒有意思,就想能不能用Python編寫可視化的界面,遂查找了相關(guān)資料,發(fā)現(xiàn)了PyQt,所以本文介紹了Python+PyCharm+PyQt編寫可視化界面的詳細(xì)教程,需要的朋友可以參考下2024-07-07Python實(shí)現(xiàn)統(tǒng)計(jì)文章閱讀量的方法詳解
這篇文章主要為大家詳細(xì)介紹了如何溧陽(yáng)Python語(yǔ)言實(shí)現(xiàn)統(tǒng)計(jì)文章閱讀量的功能,文中的示例代碼講解詳細(xì),感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下2023-02-02python 文件轉(zhuǎn)成16進(jìn)制數(shù)組的實(shí)例
今天小編就為大家分享一篇python 文件轉(zhuǎn)成16進(jìn)制數(shù)組的實(shí)例,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來(lái)看看吧2018-07-07Python連接數(shù)據(jù)庫(kù)學(xué)習(xí)之DB-API詳解
在沒有 Python DB-API 之前,各數(shù)據(jù)庫(kù)之間的應(yīng)用接口非?;靵y,實(shí)現(xiàn)各不相同。如果項(xiàng)目需要更換數(shù)據(jù)庫(kù)時(shí),則需要做大量的修改,非常不便。Python DB-API 的出現(xiàn)就是為了解決這樣的問題。本文主要介紹了Python連接數(shù)據(jù)庫(kù)之DB-API的相關(guān)資料,需要的朋友可以參考。2017-02-02DJANGO-ALLAUTH社交用戶系統(tǒng)的安裝配置
django-allauth是集成了local用戶系統(tǒng)和social用戶系統(tǒng),其social用戶系統(tǒng)可以掛載多個(gè)賬戶。也是一個(gè)流行度非常高的Django user系統(tǒng),我們這里簡(jiǎn)單介紹下,分享下個(gè)人的使用經(jīng)驗(yàn)2014-11-11