关灯

圖像處理入門教程2

[复制链接]
qeqwrr 发表于 2021-11-24 11:39:36 | 显示全部楼层 |阅读模式 打印 上一主题 下一主题
 
Opencv是Intel公司開發的C++圖像處理工具包,形象的理解為就是C++版的Matlab。 當初Intel公司開發這個工具包的初衷也是方便大家共用,希望大家能夠在一個共同架構的基礎上共同建造摩天大樓,而不是各自在自己的地基上蓋平房。 與Matlab不同,Opencv是面向開發的,穩定性好,異常處理機制周全,但有一點需要注意,由於Opencv是開源的,那麼如果你在專案中直接調用了它的API,那就意味著你的專案也必須開源。 因此在真正的產品開發過程中,往往需要從Opencv庫里面挖代碼,而不是直接調用,幸好Intel公司允許我們看原始碼,自己編譯一把就可以了。

說道C++和Opencv,有一個問題不得不提,那就是深度學習領域大名鼎鼎的Caffe框架。 這是一個典型的基於C++和OpenCv的深度學習框架,由谷歌深度學習團隊、"谷歌大腦"負責人之一賈揚清學者編寫,並公佈了源碼。 如今各個深度學習機構都在大量使用這個框架進行研究。tadarise  tadarise-5 tadarise5mg  tadarise20mg  Supertadarise

這裏同樣對推薦兩本關於Opencv方面的教程。 一本是CSDN博客大牛毛星雲寫的《OpenCV3程式設計入門》,這是它根據自己多年的博客整理成的書,很詳細,很典型的一本教程,介紹了OpenCv中相對前沿的知識。 我翻看過這本教程,中規中矩,裡面的代碼通俗易懂,尤其適合初學者。 當然大家同樣要注意不要犯了死讀書的毛病,只看它的功能,敲代碼練手感即可,不要試圖記憶API函數。 重要的工具用多了自然會記住,不重要的工具記住了也沒用。

這裏推薦的第二本書是《圖像識別與專案實踐――VC++、MATLAB技術實現》,這本書是一本偏向於工程應用的書,我之所以推薦它是因為它給出了很多有新意、能運行的代碼。 其中裡面有一個專案讓我印象很深,是一個車牌檢測的實例。 簡單描述一下:由於車牌中的字元數是固定的,因此它通過判斷橫向區域筆劃的跳變數以及筆畫寬度來定位車牌區域。 這個想法讓人耳目一新,並且它還給出了詳細代碼,我也親身試驗過,效果還不錯。

這裏同樣再強調一下,就是一定要儘早入手寫程式,建立自信和成就感。 我當時學OpenCv正好用它開發了一個人臉性別識別的系統,是一個本科大學生創新計劃的需求,效果還可以。

  3、Python

Python在今年12月份的程式設計語言排行榜中名列第5,增長迅速。 可以說Python已經逐漸成為當下腳本語言的新標準。 Python在圖像處理演算法方面除了其自身簡潔的程式設計優勢外,還得益於兩個重要的Python類庫——Numpy和Theano。

Numpy是Python的線性代數庫,對於矩陣運算能提供很好的支持,並且能夠在此基礎上進行很多機器學習相關演算法的開發模擬,這裡推薦一本受到大家廣泛認可的書《機器學習實戰》,我最近也正在看這本書,里面對好多機器學習領域的經典演算法,小到KNN,大到SVM,都給出了詳細的介紹以及代碼實現(Python版)。 Theano是Python的機器學習庫,能夠方便的實現深度學習(例如卷積神經網路CNN)演算法,網上很多對於DeepID演算法的復現都是用的這個庫。

人覺得單從圖像處理的角度評價的話,Python並沒有前面兩個工具(Matlab和OpenCv)應用廣泛,不過作為通用的腳本語言,我覺得每個程式師都應該去了解瞭解它,畢竟俗話說沒有爛的程式設計語言,只有爛程序師。 我在學Python時第一個自己寫的程式就是微信打飛機的小程式,在我的博客中有詳細的教程,雖然是參照小甲魚的《零基礎入門學習Python》視頻教程寫的,但還是蠻有成就感的。

三、圖像處理

看完了這本書,以後在圖

式識別)的基礎。 我當初沒上過最優化演算法,但後來也自己補上了,不然真的是寸步難行。 至於泛函我當時聽課的時候也不是很懂,但是在之後的研究過程中發現很多圖像處理的基本知識基本理論都和泛函分析中枯燥的定理如出一轍,沒辦法,有的東西本身就是枯燥的乾貨,學著費力,缺它不行。

其次我想說的是矩陣運算。 圖像就是矩陣,圖像處理就是矩陣運算。 大家為什麼都喜歡用Matlab,就是因為它的矩陣運算能力實在是太強大,在Matlab的世界中任何變數都是矩陣。 同樣OpenCv之所以能流行,不僅僅是因為它良好的封裝性,也是因為它的矩陣格式,它定義了Mat基礎類,允許你對矩陣進行各種操作。 Python也不例外,它的Numpy就是一個專門的線性代數庫。超級犀利士 超級犀利士藥局 超級犀利士香港 超級犀利士副作用 超級犀利士真偽

真正在圖像程式設計過程中,那些看著高大上的API函數歸根到底都是工具,查查手冊就能找到,真正核心還是在演算法,演算法是由公式編寫的,公式的單元是變數,而圖像屆的變數就是矩陣。 所以,熟練去操作矩陣,求秩、求逆、最小二乘,求協方差,都是家常便飯。 所以,如果你有幸能上《矩陣分析》這門課,一定要把它看懂,那裡面都是乾貨。

四、小結

總之,圖像處理就是一個典型的門檻低、廳堂深的領域。 不需要太多基礎,學過線性代數,會一點程式設計就夠了;但是那些演算法卻深不可測,是個消耗功夫的活兒。 在寫這篇教程時我說的很直白,就像和大家對話一樣,想到什麼說什麼。 在最後我想說兩句題外話,就是不僅僅針對圖像處理,對於其他新技術的入門學習也是一樣,儘快邁出第一步,儘快去建立自信和成就感,讓自己有勇氣走下去,然後缺什麼補什麼就行了。 我覺得真正讓人望而卻步的往往不是技術本身,而是我們對自身的不自信。 唯有果斷開工,才能戰勝心魔。


回复

使用道具 举报

 
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则


0关注

1粉丝

11983帖子

热门图文
排行榜

关注我们:微信订阅号

官方微信

APP下载

全国服务热线:

4000-018-018

公司地址:上海市嘉定区银翔路655号B区1068室

运营中心:成都市锦江区东华正街42号广电仕百达国际大厦25楼

邮编:610066 Email:2575163778#qq.com

Copyright   ©2017-2018  我爱AQPowered by©xiebaclub.com!技术支持:邪霸园