久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 4611|回復(fù): 0
收起左側(cè)

圖像處理與計算機視覺基礎(chǔ)總結(jié)

[復(fù)制鏈接]
ID:228541 發(fā)表于 2017-8-20 21:41 | 顯示全部樓層 |閱讀模式
圖像處理與計算機視覺基礎(chǔ),經(jīng)典以及最近發(fā)展
By xdyang(楊曉冬)
一、 緒論
1. 為什么要寫這篇文章
       從2002年到現(xiàn)在,接觸圖像快十年了。雖然沒有做出什么很出色的工作,不過在這個領(lǐng)域摸爬滾打了十年之后,發(fā)現(xiàn)自己對圖像處理和計算機視覺的感情越來越深厚。下班之后看看相關(guān)的書籍和文獻是一件很愜意的事情。平常的一大業(yè)余愛好就是收集一些相關(guān)的文章,尤其是經(jīng)典的文章,到現(xiàn)在我的電腦里面已經(jīng)有了幾十G的文章。寫這個文檔的想法源于我前一段時間整理文獻時的一個突發(fā)奇想,既然有這個多文獻,何不整理出其中的經(jīng)典,抓住重點來閱讀,同時也可以共享給大家。于是當時即興寫了一個《圖像處理與計算機視覺中的經(jīng)典論文》。現(xiàn)在來看,那個文檔寫得很一般,所共享的論文也非常之有限。就算如此,還是得到了一些網(wǎng)友的夸獎,心里感激不盡。因此,一直想下定決心把這個工作給完善,力求做到盡量全面。

       本文是對現(xiàn)有的圖像處理和計算機視覺的經(jīng)典書籍(后面會有推薦)的一個補充。一般的圖像處理書籍都是介紹性的介紹某個方法,在每個領(lǐng)域內(nèi)都會引用幾十上百篇參考文獻。有時候想深入研究這個領(lǐng)域的時候卻發(fā)現(xiàn)文獻太多,不知如何選擇。但實際上在每個領(lǐng)域都有那么三五篇抑或更多是非讀不可的經(jīng)典文獻。這些文獻除了提出了很經(jīng)典的算法,同時他們的Introduction和Related work也是對所在的領(lǐng)域很好的總結(jié)。讀通了這幾篇文獻也就等于深入了解了這個領(lǐng)域,比單純的看書收獲要多很多。寫本文的目的就是想把自己所了解到的各個領(lǐng)域的經(jīng)典文章整理出來,不用迷失在參考文獻的汪洋大海里。

2. 圖像處理和計算機視覺的分類
按照當前流行的分類方法,可以分為以下三部分:

A.圖像處理:對輸入的圖像做某種變換,輸出仍然是圖像,基本不涉及或者很少涉及圖像內(nèi)容的分析。比較典型的有圖像變換,圖像增強,圖像去噪,圖像壓縮,圖像恢復(fù),二值圖像處理等等。基于閾值的圖像分割也屬于圖像處理的范疇。一般處理的是單幅圖像。
B.圖像分析:對圖像的內(nèi)容進行分析,提取有意義的特征,以便于后續(xù)的處理。處理的仍然是單幅圖像。

C.計算機視覺:對圖像分析得到的特征進行分析,提取場景的語義表示,讓計算機具有人眼和人腦的能力。這時處理的是多幅圖像或者序列圖像,當然也包括部分單幅圖像。

      關(guān)于圖像處理,圖像分析和計算機視覺的劃分并沒有一個很統(tǒng)一的標準。一般的來說,圖像處理的書籍總會或多或少的介紹一些圖像分析和計算機視覺的知識,比如岡薩雷斯的數(shù)字圖像處理。而計算機視覺的書籍基本上都會包括圖像處理和圖像分析,只是不會介紹的太詳細。其實圖像處理,圖像分析和計算機視覺都可以納入到計算機視覺的范疇:圖像處理->低層視覺(low level vision),圖像分析->中間層視覺(middle levelvision),計算機視覺->高層視覺(high level vision)。這是一般的計算機視覺或者機器視覺的劃分方法。在本文中,仍然按照傳統(tǒng)的方法把這個領(lǐng)域劃分為圖像處理,圖像分析和計算機視覺。

3. 圖像處理和計算機視覺開源庫以及編程語言選擇
       目前在圖像處理中有兩種最重要的語言:c/c++和matlab。它們各有優(yōu)點:c/c++比較適合大型的工程,效率較高,而且容易轉(zhuǎn)成硬件語言,是工業(yè)界的默認語言之一。而matlab實現(xiàn)起來比較方便,適用于算法的快速驗證,而且matlab有成熟的工具箱可以使用,比如圖像處理工具箱,信號處理工具箱。它們有一個共同的特點:開源的資源非常多。在學(xué)術(shù)界matlab使用的非常多,很多作者給出的源代碼都是matlab版本。最近由于OpenCV的興起和不斷完善,c/c++在圖像處理中的作用越來越大。總的來說,c/c++和matlab都必須掌握,最好是精通,當然側(cè)重在c/c++上對找工作會有很大幫助。
計算機視覺/圖像算法/模式識別 工程師們使用的主流編程語言
1) 重中之重:編程語言之C/C++
公司面試除了考查應(yīng)聘者的圖像處理基礎(chǔ)知識、思維邏輯和個人品性之外,在個人能力之中最重要的一條就是C/C 的功底,很多學(xué)生朋友們在學(xué)校求學(xué)階段并不重視C/C++的學(xué)習(xí),導(dǎo)致找工作時處處碰壁(不過對于來參加面試的朋友,如果有較強的邏輯思維或圖像理論功底,即使C/C++ 功底弱些,企業(yè)還是會偏愛的,畢竟C/C++ 只是一個工具,只要給些時間去鉆研還是可以調(diào)高的,但是邏輯思維能力和圖像理論功底卻不是短時期就能提高的。不過一般邏輯思維和圖像理論比較強的人,其C/C 水平也是不錯的)。
為啥要這么重視C/C++ 呢?答案很簡單,與絕大多數(shù)其它開發(fā)語言相比:C/C++ 的應(yīng)用領(lǐng)域無法被超越、程序運行效率無法匹敵(當然匯編語言除外),是使用人數(shù)最多、跨平臺最廣的語言工具(適用于windows/linux/dsp/arm/單片機,當然還有其它一些平臺)。簡單的說,對于多數(shù)應(yīng)用,其它語言能做的事情C/C++ 幾乎都能做,其它語言不能做的事情C/C++ 也可以做。
2) 輔助工具之:MATLAB
百度百科中是這么說的:“MATLAB是美國MathWorks公司出品的商業(yè)數(shù)學(xué)軟件,用于算法開發(fā)、數(shù)據(jù)可視化、數(shù)據(jù)分析以及數(shù)值計算的高級技術(shù)計算語言和交互式環(huán)境,主要包括MATLAB和Simulink兩大部分。”
MATLAB本身是一個不錯的仿真、建模工具,但不適用于應(yīng)用級項目的開發(fā),原因很簡單:效率與C/C++ 無法匹敵、不夸平臺。(雖然后來出來了codegen可以將MATLAB部分代碼轉(zhuǎn)換為C++,但自動生成的還是無法與我們自己寫的并優(yōu)化的C++代碼相比;還有MATLAB 的mex接口能夠?qū)++與MABLAB接口對接,既然使用了MATLAB編程,那在應(yīng)用級的領(lǐng)域還是無法與純C++相比)
簡短說說多年前做學(xué)生時的部分學(xué)習(xí)經(jīng)歷:
記得多年前上大學(xué)階段大嘴起初只跟著學(xué)校的課程學(xué)習(xí)了MATLAB的圖像處理相關(guān)模塊(后來才學(xué)的C/C++ ),一開始覺得很興奮,因為只需要編寫很少量的代碼就可以實現(xiàn)很強大的效果。后來大嘴進一家計算機視覺類的公司實習(xí),發(fā)現(xiàn)公司主要用的是C/C++ ,因為MATLAB效率比起C/C++ 相差幾倍、十幾倍、甚至幾十倍,而且要命的是不跨平臺,只能用于windows上,后來逼的自己去學(xué)了C/C++ ,也正因如此那以后一直到現(xiàn)在特別是當初找工作的時候讓我受益匪淺。
對于企業(yè),特別是私企,公司除非給你充足的時間先使用MATLAB做完算法功能,然后再用C/C++ 慢慢改寫,而且了解的朋友們都知道,MATLAB的精度與封裝的函數(shù)標準與C/C++ 有很多不一樣,改寫起來相對麻煩一些,這樣太慢太慢太慢了,項目不等人啊。試問人家成手能夠用短時間寫出C/C++ 做圖像算法并馬上可以投入應(yīng)用,而自己卻在那邊慢慢磨MATLAB,然后再費老大勁改成純C(比如需要警覺MATLAB與C++精度不一樣的問題、圖像處理基礎(chǔ)函數(shù)標準不一樣的問題),那么老板會比較喜歡誰呢?
如果大家從最初就使用C/C++ ,雖然一開始不數(shù)量會寫的很慢,但是隨著知識量和自各種庫(比如圖像處理庫)的積累,那么總有一天開發(fā)速度會快起來的,量的積累,質(zhì)的飛躍。
說了不少,本人并不否認MATLAB,MATLAB做為建模、仿真以及一些驗證的工作(比如圖形分析和處理、圖表顯示、圖像仿真、語音仿真等)還是不錯的,這方面大嘴絕對力挺MATLAB,目前本人也還在使用中。
一句話:對于多數(shù)普通人來講,如果你的目標是想進企業(yè)做為一個實力派工程師,那么大嘴建議您以C/C++ 為主、MATLAB為輔助工具做開發(fā)。
3) 輔助工具之:OPENCV
隨著opencv的問世,圖像算法/計算機視覺/模式識別行業(yè)的門檻兒變低了,原因有以下幾點:(1)opencv是以C/C ++為基礎(chǔ)開發(fā)出來的,適用性強,windows下適用opencv開發(fā)的圖像算法應(yīng)用效率足夠快(2)封裝了很多基礎(chǔ)圖像處理函數(shù)和視覺算法,可謂“拿來即可用”。 (3)與嵌入式接口的統(tǒng)一趨勢,如前幾年大牛們?nèi)宋锔愠鰜淼腅MCV(基于C/C++ ),其基礎(chǔ)架構(gòu)和接口與opencv基本一致,但個人認為EMCV很多函數(shù)功能尚不完善,目前暫時無法與opencv相比。今后很多人在windows下基于opencv開發(fā)后,可以較為輕松的移植到DSP上,這種開發(fā)模式會是一種趨勢。
說了opencv幾條優(yōu)點,但本人并不贊同只依賴opencv做開發(fā),無論是圖像算法行業(yè)還是其它很多行業(yè),最重要的不是用什么工具,而是自己的基礎(chǔ)知識和邏輯思維方式,opencv封裝了很多基礎(chǔ)函數(shù),如果朋友們未搞懂其基礎(chǔ)原理便加以使用,這種方式并不利于鍛煉自己,抽空自己實現(xiàn)一下opencv和MATLAB的封裝好的那些基礎(chǔ)函數(shù)吧,久而久之,你會發(fā)現(xiàn)自己站的高度會越來越高的。
說到這里,改寫一下評述MATLAB時的一句話:”對于多數(shù)普通人來講,如果你的目標是想進企業(yè)做為一個實力派工程師,那么大嘴建議您以C/C ++為主、OPENCV和MATLAB為輔助工具做開發(fā)。”
4) 簡單說說其它語言
其它開發(fā)語言,比如:C#,JAVA等(還有很多很多語言,不一一舉例了)都是不錯的開發(fā)語言,各自有各自的主應(yīng)用領(lǐng)域和優(yōu)勢,也有很多很多牛人在使用,不過做圖像處理嘛,如果不偏向企業(yè)級應(yīng)用(如嵌入式中),雖然也可以用,但是了解的朋友做出來的算法效率實在不敢恭維…,又無法夸平臺,在一些不要求效率的場合還是可以用的,所以請學(xué)生朋友們慎重選擇開發(fā)語言,因為這與自己以后的擇業(yè)以及職位方向有很大關(guān)系。

4. 本文的特點和結(jié)構(gòu),以及適合的對象
      在本文面向的對象是即將進入或者剛剛進入圖像處理和計算機視覺領(lǐng)域的童鞋


完整的word格式文檔51黑下載地址(共21頁):
截至2012年-圖像處理與計算機視覺基礎(chǔ)總結(jié).docx (65.22 KB, 下載次數(shù): 17)



回復(fù)

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規(guī)則

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機教程網(wǎng)

快速回復(fù) 返回頂部 返回列表
主站蜘蛛池模板: 免费成人午夜 | 欧美在线二区 | a级毛片毛片免费观看久潮喷 | 国产精品99精品久久免费 | 午夜精品网站 | 国产丝袜一区二区三区免费视频 | 久久成人免费 | 亚洲精品乱码久久久久久蜜桃91 | 久久久久国色av免费观看性色 | 在线视频中文字幕 | 久久久久久久一区 | 中文字幕乱码一区二区三区 | 国产1区 | 日韩在线视频一区 | 亚洲国产情侣自拍 | 伊人二区| 国产一区二区三区四区五区加勒比 | 久久久91精品国产一区二区三区 | 精品入口麻豆88视频 | 欧美一区二区视频 | 日本精品网站 | 国产一区二区三区在线 | 成年人黄色一级片 | 久久一二三区 | av色站| 国产网站在线播放 | 欧美一级在线 | 免费在线观看一区二区 | 成人h视频在线观看 | 国产日韩精品一区 | 人人种亚洲 | 国产精品成人国产乱一区 | 99精品国产一区二区三区 | 欧洲一级毛片 | 久久国产精品久久 | 日韩中文一区二区三区 | 久久一二 | 视频一区在线观看 | 精品欧美乱码久久久久久 | 国产精品99精品久久免费 | 国产精品一区二区在线 |