經(jīng)典機器學(xué)習(xí),深度學(xué)習(xí),當(dāng)下這些熱門的詞匯不知不覺在我們學(xué)習(xí)(diaosi)氛圍濃重的大學(xué)蔓延開來,作為與計算機專業(yè)毫不相干的,指揮摁下開機鍵,點開穿越火線嫻熟地操作wasd的我而言,當(dāng)周圍人討論opencv,tensorflow,sklearn這些玄幻詞匯時,聽得我是一頭霧水。今天,重拾一年前敲擊hello world的自信,開啟了Python的opencv生涯。
壹 為什么選擇python?
作為時下最時尚的python語言,簡潔的代碼,借助于向軍火庫一般的各種開源工具包,你可以完成你想做的任何事。數(shù)值計算這些numpy,scipy,數(shù)據(jù)分析工具pandas,可視化matplotlib,可以使得非計算機工科生甚至文科生輕松上手,爬取處理數(shù)據(jù)。作為膠水語言的python在opencv上的應(yīng)用不僅簡單方便編寫代碼,其運行速度有時甚至優(yōu)于c++等,讓你更加專注于目標(biāo)而不是語法結(jié)構(gòu)。最重要的是,如果你已經(jīng)下載過了anaconda python,安裝opencv只需要一行代碼就可完成!
貳 掌握anaconda和安裝opencv
anaconda是用于科學(xué)計算的免費的python版本。可以在官網(wǎng)上下載anaconda,https://www.anaconda.com/,選擇windows還是linux或是蘋果的mac os??辞宄?2位還是64位便可以下載。不過,下載數(shù)小時,經(jīng)常下載不成功是常事。這時候,強烈建議逛一逛清華或者中科大的鏡像站,下載變成分分鐘的事。
opencv的安裝:在網(wǎng)頁上下載好對應(yīng)版本的.whl文件后,打開你電腦的命令行,pip install一下就ok了。
叁 常見圖片的格式
作為圖像處理,那就需要知道常見的圖片格式有哪些。
比較老的有bmp格式,bmp格式無損及沒有壓縮像素,但麻煩的是圖片的體積偏大。
接著是jpg格式或者是jpeg格式,這是有損壓縮的模式,將像素信息用jpeg保存成文件再讀取出來。這個是我比較常處理的,用最少的磁盤空間得到最好的圖片質(zhì)量。
還有是png格式,是一種無損壓縮模式,用的是行程編碼算法,相比jpeg,更加適合存儲幾何特征比較強的圖片。
我們在空間搞笑圖片中常看見的GIF格式圖片,是多幀圖像的集合。我們處理讀取時也要一幀一幀讀。通過調(diào)節(jié)參數(shù)也可以控制顯示快慢。
我們常說的黑白圖像,在計算機中有兩種。一種是位圖模式,是真真切切的非黑即白,這種圖像只有一位深度:0就是純黑,1就是純白。
還有一種圖像叫灰度圖像,在生活中我們常把灰度圖像作為黑白圖像。事實上,灰度圖像有8位深度,(0,0,0,0,0,0,0,0)是純黑,(1,1,1,1,1,1,1,1)是純白,其余介于1至255之間的就是不同深度的灰度圖像。
彩色圖像就是RGB圖像,顧名思義,RED,GREEN,BLUE,這三種色彩疊加組合可以構(gòu)成我們?nèi)搜劭吹降娜魏晤伾?,在計算機處理彩色圖像時,也是通過紅綠藍(lán)三個通道來進行,每個通道又各有八個深度,由此,我們知道,理論上計算機可以構(gòu)成256的三次方種顏色!
肆 色彩空間轉(zhuǎn)換
hsv顏色模型更接近人感覺顏色的方式,H是色相,S是飽和度,V是亮度。
lab色彩空間:L:整張圖的亮度,a和b表示顏色多少,用于編碼顏色。
opencv提供了上百種顏色空間轉(zhuǎn)換方法,opencv做轉(zhuǎn)化時,用到了cvtColor函數(shù)。
該函數(shù)用兩個參數(shù)足以,第一個是圖像名稱,第二個是轉(zhuǎn)換方式。
例如,我已經(jīng)讀入一個函數(shù),
img = cv2.imread(path,way),
其中path是路徑,way是讀入方式,灰度圖,彩色圖還是加載alpha通道。
接著, gray=cv2.cvtColor(img,cv2.COLOR_BGR2GRAY) 這就完成了彩色圖像與灰度圖像之間的轉(zhuǎn)化。
其中,cv2.COLOR_BGR2GRAY這個方式,如果轉(zhuǎn)化后還想要csv,就cv2.COLOR_BGR2CSV,如果想變更通道順序,那么cv2.COLOR_BGR2RGB就可以了,很好玩。
圖像縮放用cv2.resize函數(shù),例如變成400*400像素記得寫成cv2.resize(img,(400,400))。同樣如果想x方向縮小直接fx=0.5即可。
此外,圖像反轉(zhuǎn),圖像保存,閾值化處理等也被opencv包裝成了函數(shù),用起來也十分方便。
編輯:lyn
-
OpenCV
+關(guān)注
關(guān)注
29文章
625瀏覽量
41214 -
python
+關(guān)注
關(guān)注
55文章
4768瀏覽量
84376
原文標(biāo)題:淺淺淺淺談opencv
文章出處:【微信號:zhuyandz,微信公眾號:FPGA之家】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。
發(fā)布評論請先 登錄
相關(guān)推薦
評論