快速學編程——1分鐘入門python圖像處理利器

編程語言 Python 圖像處理 OpenCV 太科羅技 2017-04-05

快速學編程——1分鐘入門python圖像處理利器

上一講中,我們瞭解了python打開圖片的方法,當圖片被讀入內存後,我們便可以對圖像按照自己的意願進行處理了(它的本質就是一個數組,對應於數學中的矩陣)。對於一些常見的圖像操作,我們可以自己來編寫處理方法,也就是自己造輪子,但這樣做有一個弊端——會讓我們陷入各種編程技巧的汪洋大海中。我們編程的目的是為了處理圖像,所以我們只應關注算法本身。為了避免讓更多的人重複造輪子,本文的主角——opencv(上圖為opencv Logo)誕生了,它是由英特爾(就是造PC處理器的那家)主導的一個開源項目(由C&C++編寫),它裡面提供了大量的圖像操作方法及處理算法。太科羅技的前三期視頻中介紹了opencv C語言版本的一些簡單應用。本文就將介紹如何在python中使用opencv算法庫。

快速學編程——1分鐘入門python圖像處理利器

opencv

python中配置opencv的步驟如下:

  1. 安裝Anaconda(注意版本,上一講有介紹);

  2. 安裝opencv,直接上opencv官網下載2.x版本的opencv(最新的3.x可能有一些未知bug)。解壓至特定目錄;

  3. 進入opencv安裝目錄xx\build\python\2.7,視Anaconda的版本選擇X86 or X64,複製cv2.pyd文件至Anaconda目錄下的\Lib\site-packages內,至此opencv 在python下的使用環境配置完畢。

下面我們就來打開一張圖片,spyder下代碼:

import cv2

img = cv2.imread('e:/3.png')

cv2.imshow("Image",img)

然後執行,這時候會顯示出一個灰色對話框,但是沒有圖像,為什麼會這樣?我們再加入一行代碼:

cv2.waitKey(0),再執行,歐了,圖像出來了。

快速學編程——1分鐘入門python圖像處理利器

代碼

什麼原因呢?opencv官方的解釋如下:waitKey function is the only method in HighGUI that can fetch and handle events, so it needs to be called periodically for normal event processing, unless HighGUI is used within some environment that takes care of event processing.大意就是要用到opencv的GUI,就得調用此函數。

至此,我們開啟了python的圖像處理利器,在後續的教程中,太科羅技會同時向大家講解C語言及python下的圖像處理技術,敬請關注。

相關推薦

推薦中...