接觸圖像處理已經有五個月了,自認爲已經算是入門了吧。以下分享個人的一些經驗。
圖像處理的庫有很多,例如OpenCV、halcon、OpenGL、MATLAB庫、IntelIPP等。OpenCV具有開源,免費,跨平臺、可移植性強等優點,得到了較爲廣泛的應用。另外MATLAB也提供了衆多的圖像處理的函數,也可以用來做視覺項目。初學者學習OpenCV和Matlab圖像處理較好,我個人推薦更加推薦學習OpenCV。
學習OpenCV圖像處理應該具有的一些條件:
c/c++基礎
一些線性代數知識
一些概率統計知識
一些微積分知識
一些傅里葉變換知識
一定的英語閱讀水平
以上條件要求並不是什麼嚴格,因爲入門OpenCV視覺編程還不需要太強的編程能力和數學功底,當然如果你較好的數學功底和編程能力,那上手OpenCV就更加易如反掌。
工欲善其事,必先利其器。器欲盡其能,必先得其法。入門前工具的準備是十分重要的,這裏推薦毛星雲的《OpenCV3編程入門》作爲入門閱讀書籍,推薦使用VisualStudio 2013和OpenCV2.4.9練習書上的代碼。VisualStudio 2013和OpenCV2.4.9的設置,可參考此頁面:http://blog.csdn.net/ccj5351/article/details/24949881。值得注意的是,OpenCV2和OpenCV3的區別很小,但這兩者和OpenCV1的差異很大,推薦使用較新的OpenCV版本(OpenCV2和OpenCV3)均可,因爲新的版本意味着更好的性能,更加容易上手。
準備好《OpenCV3編程入門》和安裝好上述工具後,即可根據書上的內容學習視覺編程了,在書上你可以學習很多生動有趣的知識了。這裏注意一點,這本書名爲OpenCV3編程,實際上也是完全兼容OpenCV2的。這一步的學習建議把握好時間,不宜花費太多時間鑽研書上的內容。應該儘可能快地過一篇書上的內容,如果你的編程基礎(指的是C++的編程水平)好的話,甚至可以挑選少量的例子親手上機操作即可。如果你的編程基礎不太好的話,需要花多點時間練習書上的代碼,邊練習編程邊學習圖像處理知識。
學習完《OpenCV3編程入門》,你可能會有一種有力但是卻使不上勁的感覺,這是因爲你的內功尚未修煉好。對於學習圖像處理來說,單單看《OpenCV3編程入門》是不夠的,這本書更像是一本OpenCV的實例操作書,要系統地學習圖像處理,要修好內功打出好功夫,還需要系統地學習圖像處理的知識。
關於系統地去學習圖像處理,推薦大名鼎鼎的岡薩雷斯的《數字圖像處理第三版》和《數字圖像處理的MATLAB實現》,這兩本書可謂是學習圖像處理經典書籍。書上系統地介紹了圖像處理的知識:如
圖像的增強與復原
圖像空間濾波和頻域濾波
圖像幾何變換
圖像形態學
圖像分割等
《數字圖像處理第三版》詳細介紹了圖像處理中的數學原理,數學模型。《數字圖像處理的MATLAB實現》側重於用MATLAB去實現《數字圖像處理第三版》的算法。例外,這一部分的學習也推薦左飛的《數字圖像處理原理和實踐(MATLAB版)》,這本書也寫得不錯。
以上內容都涉及之後,就算是入門了圖像處理了。(我個人覺得)。到了這一步,你應該可以用OpenCV或者MATLAB編寫一些程序了。值得一提的是,OpenCV也提供了Python接口,可以用Python語言寫OpenCV代碼。另外,如果你想寫一些界面的話,推薦使用簡單易上手的Qt,最好不要去學MFC,這實在是一個大坑。
欲窮千里目,更上一層樓。對於如何進階,可以參照此頁面:https://www.cnblogs.com/tenderwx/p/6441185.html
一些總結和書籍推薦
《OpenCV3編程入門》------opencv入門利器,要學他得懂點c++的知識
《數字圖像處理第三版》、《數字圖像處理的MATLAB實現》------系統地學習數字圖像處理的書籍
《數字圖像處理原理和實踐(MATLAB版)》------和岡薩雷斯的《數字圖像處理MATLAB實現》差不多,更加容易理解,但深度和嚴謹性不及後者
《Python計算機視覺》------利用Python寫圖像處理代碼,書的最後章節介紹了用python調用opencv庫
參考資料:
[1]左右shawn.圖像處理庫綜述[DB/OL].http://blog.csdn.net/x454045816/article/details/52097224, 2016-8-2
[2] GloryofFamiliy. OpenCV2.4.9在OpenCV2.4.9在VisualStudio 2013下的配置. http://blog.csdn.net/ccj5351/article/details/24949881
[3] 白馬負金羈.圖像處理與機器視覺網絡資源收羅.http://blog.csdn.net/baimafujinji/article/details/32332079