乡下人产国偷v产偷v自拍,国产午夜片在线观看,婷婷成人亚洲综合国产麻豆,久久综合给合久久狠狠狠9

  • <output id="e9wm2"></output>
    <s id="e9wm2"><nobr id="e9wm2"><ins id="e9wm2"></ins></nobr></s>

    • 分享

      如何開(kāi)始學(xué)習(xí)OpenCV?

       xiaofenglib 2013-09-12
      OpenCV是什么,相信搞機(jī)器視覺(jué)的朋友都清楚。但是很多搞機(jī)器視覺(jué)的朋友卻是對(duì)他又愛(ài)又恨。愛(ài)它因?yàn)樗敲赓M(fèi)的,如果能夠好好掌握它,并運(yùn)用到自己的機(jī)器視覺(jué)項(xiàng)目中,還是可以一定程度上降低項(xiàng)目成本。恨它是因?yàn)樗惶脤W(xué)習(xí)。原因有以下幾個(gè):
      1、國(guó)內(nèi)有關(guān)OpenCV的中文著作太少了,就2本,而且還是1.1版本的,已經(jīng)和現(xiàn)在最新版本2.4.3差別太大,就算是學(xué)習(xí)了,過(guò)渡到最新版也要花一定的時(shí)間和精力。
      2、直接學(xué)習(xí)較高版本,可是沒(méi)有相應(yīng)的教程可以參考。直接看英文版本的幫助文檔吧,對(duì)于英文不好的朋友,難度很大。
      3、就算是英文可以的朋友,該如何高效的學(xué)習(xí)OpenCV,估計(jì)有些人也沒(méi)有一個(gè)良好的方法,導(dǎo)致學(xué)習(xí)效果不好。
         為了幫助那些想學(xué)OpenCV卻又不得法的朋友,本人姑且把自己自學(xué)OpenCV的一點(diǎn)點(diǎn)經(jīng)驗(yàn)?zāi)贸鰜?lái)分享一下,希望能夠幫到有需要的朋友。已經(jīng)掌握了良好學(xué)習(xí)方法并且已經(jīng)一定程度掌握OpenCV的朋友,還希望不要吐槽。
      1、先去下載最新版OpenCV,網(wǎng)址如下:http://nchc.dl./project/opencvlibrary/opencv-win/2.4.3/OpenCV-2.4.3.exe。下載完成后解壓到相應(yīng)目錄。本人解壓到D:\Program Files\OpenCV2.4.3。
      2、有的文章提到使用CMake把OpenCV下面的范例生成為Visual Studio的工程,此處我沒(méi)有這樣做。直接使用范例。這里先把OpenCV目錄下面的幾個(gè)重要目錄做個(gè)說(shuō)明(見(jiàn)附件):
      doc目錄:主要包含OpenCV的幫助文檔。其中opencv2refman.pdf主要是OpenCV的各種類和函數(shù)的使用說(shuō)明。opencv_tutorials.pdf,主要是下面教學(xué)代碼目錄里面各個(gè)教學(xué)范例的簡(jiǎn)單講解。opencv_cheatsheet.pdf主要是最常用OpenCV類和函數(shù)的集合。此3個(gè)PDF文檔對(duì)自學(xué)者幫助最大。
      samples\cpp\tutorial_code目錄:里面包含基本教學(xué)代碼。和上面的opencv_tutorials.pdf文檔遙相呼應(yīng),構(gòu)成一個(gè)完整的自學(xué)體系。
      build目錄:包含編譯,調(diào)試,發(fā)布所需要的各類動(dòng)態(tài)庫(kù),靜態(tài)庫(kù),頭文件等。
      因?yàn)镺penCV2.4.3好像只支持Visual Studio 2008以上版本,我在這里以Visual Studio 2008為例講解如何讓范例跑起來(lái)。
      1、添加環(huán)境變量:見(jiàn)圖片。此處我在path環(huán)境變量中添加如下目錄:D:\Program Files\OpenCV2.4.3\build\x86\vc9\bin。記住在前面一個(gè)目錄后面加分號(hào)。
      2、在Visual Studio中包含頭文件目錄:見(jiàn)附件中的圖片,已經(jīng)用紅色矩形框標(biāo)識(shí)如何操作。
      3、在Visual Studio中包含庫(kù)文件目錄:見(jiàn)附件中的圖片,已經(jīng)用紅色矩形框標(biāo)識(shí)如何操作。
      4、建立一個(gè)新建Visual Studio VC win32控制臺(tái)應(yīng)用工程,這里我選擇帶預(yù)編譯頭的工程,省去添加cpp文件的工作。
      5、代碼創(chuàng)建:這里我選擇samples\cpp\tutorial_code\ImgProc\Morphology_2.cpp文件。先添加包含目錄,如下(以后所有范例均可以如下添加):
      #include <opencv2/opencv.hpp>
      #include <stdio.h>
      然后復(fù)制代碼,見(jiàn)附件:
      6、編譯文件:自然少不了要包含靜態(tài)庫(kù),要添加的庫(kù)(debug版和release差別就是文件名后多了一個(gè)d標(biāo)識(shí)是debug版)如下:
      debug版
      opencv_calib3d243d.lib
      opencv_contrib243d.lib
      opencv_core243d.lib
      opencv_features2d243d.lib
      opencv_flann243d.lib
      opencv_gpu243d.lib
      opencv_haartraining_engined.lib
      opencv_highgui243d.lib
      opencv_imgproc243d.lib
      opencv_legacy243d.lib
      opencv_ml243d.lib
      opencv_nonfree243d.lib
      opencv_objdetect243d.lib
      opencv_photo243d.lib
      opencv_stitching243d.lib
      opencv_ts243d.lib
      opencv_video243d.lib
      opencv_videostab243d.lib

      release版
      opencv_calib3d243.lib
      opencv_contrib243.lib
      opencv_core243.lib
      opencv_features2d243.lib
      opencv_flann243.lib
      opencv_gpu243.lib
      opencv_haartraining_engine.lib
      opencv_highgui243.lib
      opencv_imgproc243.lib
      opencv_legacy243.lib
      opencv_ml243.lib
      opencv_nonfree243.lib
      opencv_objdetect243.lib
      opencv_photo243.lib
      opencv_stitching243.lib
      opencv_ts243.lib
      opencv_video243.lib
      opencv_videostab243.lib
      添加方法見(jiàn)附件。
      7、字符集設(shè)置:如果編譯過(guò)程中出現(xiàn)如下錯(cuò)誤:
      不能將參數(shù) 1 從“_TCHAR *”轉(zhuǎn)換為“const std::string &”原因如下: 無(wú)法從“_TCHAR *”轉(zhuǎn)換為“const std::string”。請(qǐng)字符集設(shè)置為“使用多字節(jié)字符集”,設(shè)置方法見(jiàn)附件。
      8、最后指定命令后參數(shù):方法見(jiàn)附件。這樣就可以不用在windows命令行下輸入?yún)?shù)了,方便調(diào)試,但是要注意,圖片必須放在你所建立的工程目錄下(和.cpp以及.h文件同一目錄)。否則就要加上相應(yīng)的路徑。如果參數(shù)多于1個(gè),請(qǐng)以空格分開(kāi)。
      9、支持所有參數(shù)設(shè)置完成,開(kāi)始編譯運(yùn)行吧。

      如果Visual Studio無(wú)問(wèn)題的話,按照以上按部就班操作,每個(gè)范例均可以正常運(yùn)行。
      學(xué)習(xí)OpenCV 2.4.3,不要先急著敲代碼,應(yīng)該要先把它的代碼運(yùn)行一遍,看看是什么結(jié)果。先知道運(yùn)行結(jié)果,再逆向推導(dǎo)編程思路,最后看代碼,分析代碼,把每一個(gè)OpenCV類和函數(shù)的功能作用搞清楚,形成自己的思路,最后拋開(kāi)原來(lái)的代碼,按照自己的思路,把代碼敲進(jìn)去,這樣才能實(shí)現(xiàn)消化吸收。
      當(dāng)然每個(gè)人的學(xué)習(xí)方法未必相同,或許別人有自己的獨(dú)特的學(xué)習(xí)OpenCV的更好方法。如果是這樣的話,不妨拿出來(lái)分享一下。
      最后,要學(xué)好OpenCV并利用OpenCV做機(jī)器視覺(jué)項(xiàng)目,僅靠OpenCV提供的API是不夠,還需要補(bǔ)充一定的數(shù)字圖像處理的基礎(chǔ)知識(shí),不求自己寫(xiě)處理算法,但是每個(gè)OpenCV處理算子的功能,應(yīng)用范圍,是要清楚的,只有這樣,才在具體的應(yīng)用中知道該使用什么樣的API。
      以上就是我目前自學(xué)OpenCV 2.4.3的一點(diǎn)點(diǎn)心得,拿出來(lái)和大家分享一下。如果是OpenCV高手,還煩請(qǐng)口下留情,少吐槽,多指點(diǎn)。如果能夠幫助到新手,我甚感欣慰。

        本站是提供個(gè)人知識(shí)管理的網(wǎng)絡(luò)存儲(chǔ)空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點(diǎn)。請(qǐng)注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購(gòu)買(mǎi)等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊一鍵舉報(bào)。
        轉(zhuǎn)藏 分享 獻(xiàn)花(0

        0條評(píng)論

        發(fā)表

        請(qǐng)遵守用戶 評(píng)論公約

        類似文章 更多