計算機視覺與圖像新手的心酸胡扯

        我做計算機視覺有半年左右,也是現在現在很火的深度學習。有人說這個是“技術大爆炸”,突然冒出大批人來搞深度學習。但是我現在不想說深度學習,只想說說它的輔助工作---圖片處理基礎。

      我是因爲讀研纔開始基礎計算機視覺,之前什麼都不懂,是真的什麼都不懂。然後實驗室還是新開設的這個項目,也就是說,實驗室也不會有人來指導我如何做,那時只有老師說要什麼東西,我就得自己各種的查找來完成,現在想想還是很苦逼。

       開始時連圖片是數字組成的都不知道。所以真的是新新手啊。圖片是由一個矩陣組成的,這個矩陣可以是一維,三維,四維(我所知道的)。四維圖片時RGBA,即red,green,blue,阿爾法值。三維是RGB,但其實如果你用的開源框架caffe,caffe的內部用opencv處理圖片,opencv讀出來的三維圖是BGR。四維和三維都是彩色圖。一維的一般爲灰度圖,mode是L,但是mode是P時也是一維的,我前幾天剛剛接觸model爲P的圖片,它是一維的,但是它卻可以有顏色,貌似是因爲調色板什麼的原因,我一直未有時間着手去搞清楚。如果只是看一個圖片的屬性是看不出他的mode類型的。用python的image去讀一個圖片輸出它的返回值就可以看到一張圖片的組成參數,包括它的mode。

      我用python處理圖片,它的Image,skimage都可以讀一張圖片,不過讀出來的形式不同,Image讀出來的仍然是圖片形式,skimage讀出來的是矩陣,我的其他文章中有提到它們的不同。image讀出來的圖片可以轉成矩陣,這時就要提到另一個python做數據處理的常用模塊---numpy,numpy是一個多維數組【矩陣】。深度學習處理的其實就是圖片的真正組成-----矩陣,numpy有很多的方法,所以會常常用到它,它的花式索引,廣播計算等等使用時都非常方便。numpy和image之間可以互相轉化。image自己本身就有很多便利的可以對圖片進行轉化灰度圖【一維】和切割旋轉等的方法,但是如果需要逐像素對圖片進行處理就可以選擇轉成numpy後處理。

     圖片的展示以及訓練結果數據的展示如果可以通過圖片顯示會更加的明顯,這時我們就需要python的另一個數據處理常用的模塊---matplotlib,它有很多辦法可以把你的圖片或數據以你想要的方式展示出來,具體可參看官網或者我的另一篇文章有稍微講了一些常用的辦法。

      所以如果你是新手,而且是沒有人帶什麼都不懂的新手,你用python處理圖片時請參看,Image,skimage,numpy,matplotlib。

發佈了74 篇原創文章 · 獲贊 50 · 訪問量 32萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章