淺談python圖片處理Image和skimage的區(qū)別
做cnn的難免要做大量的圖片處理。由于接手項目時間不長,且是新項目,前段時間寫代碼都很趕,現(xiàn)在稍微總結(jié)(恩,總結(jié)是個好習(xí)慣)。
1,首先安裝python-Image和python-skimage、python-matplotlib。
簡單代碼:
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讀出來的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讀出來的shape是高,寬, 通道
調(diào)用及輸出:
其實Image讀出來的是PIL什么的類型,而skimage.io讀出來的數(shù)據(jù)是numpy格式的。如果想直接看Image和skimage讀出來圖片的區(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在單獨測試時要要在代碼中設(shè)置:transformer.set_transpose('data',(2,0,1)),因為caffe可以處理的圖片的數(shù)據(jù)格式是(channel,height,width),所以要轉(zhuǎn)換數(shù)據(jù)啊]
2.img讀出來的圖片獲得某點像素用getpixel((h,w))可以直接返回這個點三個通道的像素值
skimage讀出來的圖片可以直接img_file2[0][0][0]獲得,但是一定記住它的格式,并不是你想的(channel,height,width)
關(guān)于matplotlib簡單的畫圖請關(guān)注下篇~
以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
Python?FastApi結(jié)合異步執(zhí)行方式
這篇文章主要介紹了Python?FastApi結(jié)合異步執(zhí)行方式,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教2024-06-06基于CentOS搭建Python Django環(huán)境過程解析
這篇文章主要介紹了基于CentOS搭建Python Django環(huán)境過程解析,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下2020-08-08Python利用pywin32庫實現(xiàn)將PPT導(dǎo)出為高清圖片
這篇文章主要為大家詳細(xì)介紹了Python如何利用pywin32庫實現(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實現(xiàn)統(tǒng)計文章閱讀量的方法詳解
這篇文章主要為大家詳細(xì)介紹了如何溧陽Python語言實現(xiàn)統(tǒng)計文章閱讀量的功能,文中的示例代碼講解詳細(xì),感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下2023-02-02python 文件轉(zhuǎn)成16進(jìn)制數(shù)組的實例
今天小編就為大家分享一篇python 文件轉(zhuǎn)成16進(jìn)制數(shù)組的實例,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2018-07-07Python連接數(shù)據(jù)庫學(xué)習(xí)之DB-API詳解
在沒有 Python DB-API 之前,各數(shù)據(jù)庫之間的應(yīng)用接口非常混亂,實現(xiàn)各不相同。如果項目需要更換數(shù)據(jù)庫時,則需要做大量的修改,非常不便。Python DB-API 的出現(xiàn)就是為了解決這樣的問題。本文主要介紹了Python連接數(shù)據(jù)庫之DB-API的相關(guān)資料,需要的朋友可以參考。2017-02-02DJANGO-ALLAUTH社交用戶系統(tǒng)的安裝配置
django-allauth是集成了local用戶系統(tǒng)和social用戶系統(tǒng),其social用戶系統(tǒng)可以掛載多個賬戶。也是一個流行度非常高的Django user系統(tǒng),我們這里簡單介紹下,分享下個人的使用經(jīng)驗2014-11-11