opencv編譯好的
⑴ 用網上下載的編譯好的opencv 效率高嗎,還是得自己編譯一個最高效的
一般而言網上下載的opencv效率高,因為opencv在開發的時候做了優化處理,當然如果你針對特殊應用的話,opencv多種組合才能實現的話,opencv的效率也會受影響。個人建議通過查看opencv的源碼來了解相關技術實現,那你也可以自己去編寫,提高能力。
⑵ opencv有沒有編譯好的mingw板
下載opencv for windows安裝包,我下的是目前最新的安裝包opencv-2.4.8版本。雙擊打開解壓,我的解壓目錄為D:\Program Files。解壓後D:\Program Files下多了一個opencv文件夾,裡面只有兩個文件,如下圖所示:
右鍵單擊計算機-屬性-高級系統設置-高級-環境變數,在系統變數中查找PATH變數中添加「D:\Program Files\opencv\build\x86\vc10\bin」路徑。
⑶ 如何編譯帶有extra molesopencv
從opencv官網下載下來的exe文件安裝後只含有opencv自帶的一些moles,有時需要其extra moles的一些功能,就需要手動編譯。
這里詳細的說明了opencv自帶的moles和extra moles
環境說明
Windows10 x64
Opencv 3.1.0
Visual Studio 2015
CMAKE 3.4.1
第一部分:生成OpenCV vs項目
下載opencv源碼和 opencv_contrib源碼 這里的opencv源碼部分用官網的exe安裝包解壓安裝也可以。需要的只是源碼。
!!!注意:這里OpenCV和OpenCV contrib的代碼版本要一致,否則可能後產生不可預知的編譯錯誤!!!
將opencv和opencv_contrib解壓到一個目錄里,並建立一個空文件夾名為VSproject,用來存儲待編譯的vs項目
打開CMAKE,在where is the source code裡面選擇opencv的源代碼目錄,我安裝的是exe包,所以我的目錄是F:/Sunday/opencv/sources
在where to build the binaries選擇F:/Sunday/VSproject
點擊Configure,選擇你的編譯器,如下
點擊Finish
等待出現Configuring done
找到OPENCV_EXTRA_MODULES_PATH項,輸入opencv_contrib下的moles目錄F:/Sunday/opencv_contrib/moles
如下
其他選項根據自己的需要勾選,不懂的話就不要動了。
我取消勾選的有
BUILD_DOCS
BUILD_TESTS
BUILD_PERF_TESTS
BUILD_opencv_python2
BUILD_opencv_python3
WITH_CUDA
WITH_MATLAB
注意:千萬不要勾選BUILD_opencv_contrib_world和BUILD_opencv_world,否則會導致編譯失敗。但是如果
不添加opencv_contrib的話,就可以勾選BUILD_opencv_world,這樣編譯出來的庫文件和dll就只有一個
opencv_world.dll。包含了所有的庫。
再次點擊Configure沒問題的話上面不會有紅色,如下
7. 點擊Generate,開始生成VS項目
導出成功如下,顯示Genereating done
第二部分:編譯
打開VSproject目錄下的OpenCV.sln,我的是F:\Sunday\VSproject\OpenCV.sln
先編譯debug版本的代碼,同時要確保平台正確,在ALL_BUILD項目上右鍵→生成,即開始編譯。這個過程一般較長。
編譯成功後生成CMake Targets下的install項目,這樣所有opencv編譯出來的lib,dll,頭文件都會統一放在install文件夾下。
把編譯改為Release模式,按照1~3步再編譯一下。
最終所有編譯好的文件都會存在VSproject的install目錄下。
⑷ 如何編譯 opencv動態鏈接庫
在一個項目中需要用到OpenCV,剛開始使用了OpenCV的動態鏈接庫,這樣,在移動可執行程序時還必須將OpenCV動態支持庫一起搬移,很是麻煩。所以,最終選擇OpenCV靜態鏈接庫,這樣程序移植運行就方便了很多。
需要編譯成靜態庫以便於應用程序鏈接。
網上有的教程中寫的在VC++2010下安裝OpenCV2.1時用到了TBB庫,而我在編譯鏈接自己的程序後需要用到TBB.dll。本人設計的目的就是要做一個獨立的界面程序,不需要攜帶其他第三方庫。經過一段時間的努力最終找到了編譯OpenCV2.1靜態庫的方法。
需要的工具環境及文件:
-------------------------------------------------------------------------------------------------------------
1、Windows XP
2、VC++2010(VS2010)
3、為編譯OpenCV源碼包(我下載的有:OpenCV2.1.0,OpenCV2.3.0及OpenCV2.4.4)
4、CMake2.8.9
說明:OpenCV各版本官方下載地址:opencv.org/
cmake-2.8.9下載地址:ishare.iask.sina.com.cn/download/explain.php?fileid=35025936
--------------------------------------------------------------------------------------------------------------
以OpenCV2.1.0編譯靜態庫為例
CMake配置
-------------------------------------------------------------------------------------------------------------
打開CMake並設置:
Where is the rource code :OpenCV源代碼所在的文件夾
Where to build the binaries:CMake配置好得到的文件放在位置(我的:E:\OpenCV2.1.0-prj)
然後點擊configure,選擇"Visual Studio 10"。然後確定。
等待configure完成,會出現很多紅色的選項,因為主要是生成OpenCV的庫,所以只需保留某些選項:
去掉BUILD_NEW_PYTHON_SUPPORT,BUILD_SHARED_LIBS, BUILD_TESTS
勾選OPENCV_BUILD_3RDPARTY_LIBS, WITH_TBB,WITH_JASPER, WITH_JPEG,
WITH_PNG, WITH_TIFF選項,
然後再點擊configure,如下圖:
提示TBB_INCLUDE_DIR找不到,因為我們不需要TBB庫,所以忽略,再一次點擊configure。
等待配置完成,最後點擊generate,完成後關閉CMake。
-------------------------------------------------------------------------------------------------------------
VC++2010編譯靜態庫
-------------------------------------------------------------------------------------------------------------
進入E:\OpenCV2.1.0-prj目錄,使用VC++2010打開.sln文件,打開項目管理器
這時候會看到
解決方案中有很多小項目存在。
註:這時我們右鍵任意點擊一個子項目(如cv),選擇屬性,可以在配置屬性下的常規項目中看到,配置類型為
靜態庫(lib)。
按住ctrl鍵,選中除過ALL_BUILD, INSTALL, ZERO_CHECK,
uninstall四個項目的其他所有項目,在菜單中選擇項目->屬性,打開配置屬性->c/c++->代碼生成選項,在右側窗口中的運行時庫中選擇多線程調試(/MTd),然後確認。
說明:這里有四個選項(/MT, /MTd, /MD,
/MDd),前兩個一組,為靜態鏈接運行時庫,運行時不需要運行時庫的支持,代碼直接插入到程序中去;後兩個一組,為動態鏈接運行時庫,運行時需要msvcr90.dll或msvcp90.dll支持。
我們先編譯Debug版的OpenCV靜態庫,在解決方案"opencv"(22個項目)上單擊右鍵,選擇重新生成解決方案,此時便開始編譯OpenCV庫了,等編譯結束會提示完成16個,失敗4個:
這四個項目生成的是exe程序,不需要管他們。到這步我們已經生成了Debug版本的靜態庫!
然後我們用相同的方式生成Release版的庫,在之前的基礎上只需要將選項選擇多線程/MT,再進行編譯。編譯時警告很多,直接忽略!
注意:/MT即是Release版本,/MTD即是Debug版本。
最終我們需要的靜態庫就存在:E:\OpenCV2.1.0-prj/lib 和 E:\OpenCV2.1.0-prj/3rdparty/lib
兩個目錄,我們編譯好的庫就在這兩個文件夾下。分別
將E:\OpenCV2.1.0-prj/3rdparty/lib中Debug
下面的所有文件Copy到E:\OpenCV2.1.0-prj/lib中的Debug 文件中。
將E:\OpenCV2.1.0-prj/3rdparty/lib中Release下面的所有文件Copy到E:\OpenCV2.1.0-prj/lib中的Release文件中。
⑸ opencv編譯成功,但是不能運行 求解
確認你的opencv的庫的目錄在opencv中設置正確。
lena.jpg不是放在cpp目錄下,而是放在可執行目錄下。或者用絕對路徑。
⑹ Opencv 編譯好的和用Cmake生成的有什麼不同呢 Cmake是什麼用的 通俗些最好了,謝謝!
Cmake是一個make工具,它可以根據makefile文件來調用你和編譯器進行多個文件的編譯和鏈接。用Cmake生成的就是使用你本地的編譯器來編譯生成那些文件。
⑺ opencv和qt的結合問題opencv編譯好的代碼庫和qt結合,寫出來的程序應用opencv的函數可以編譯但無法運行。
你加opencv的dll了嗎?
2個方案:
第一個,把opencv/bin 就是有dll那個文件夾加到項目的path 變數里
第二個, 直接把要用的dll加到編譯出的可執行文件所在地
⑻ 能脫離操作系統直接執行編譯好的基於OpenCV的C++代碼嗎
OpenCV是沒辦法脫離操作系統運行的,因為它需要操作一些具體的設備,也需要用一些操作系統提供的基礎庫,所以現在還沒有看到過有脫離操作系統直接運行OpenCV的程序。
⑼ 如何將開發pc上編譯好的opencv運行庫部署到其他電腦上
eclipse編譯的arm文件? 1 eclipse編譯用的是pc上的編譯器還是交叉編譯器? 2 arm文件是什麼文件?c文件無所謂arm還是i386的 要在板子上運行,首先你要用cross compiler,然後才是把編譯好的執行文件和庫在板子上跑起來
⑽ 如何編譯opencv
1. 將OpenCV2.2.0的壓縮包解壓到路徑D:\OpenCV\opencv (以下所有路徑都可自己選擇 只要對應起來即可)
2. 安裝Cmake,可以到官網去下載並按默認設置安裝安裝即可。
此處注意一般vs採用的是win32編譯器進行debug和release(即使你是安裝的x64),所以下載cmake的時候應該下載32位版本,這樣cmake編譯出來的是32位的工程文件,x64的cmake編譯的是64位工程文件。
3.打開Cmake,在第一行「Where is the source code」後面的那個「Browse Source...」按鈕,選擇OpenCV的安裝路徑。