當前位置:首頁 » 編程軟體 » opencvg編譯

opencvg編譯

發布時間: 2022-07-23 21:24:55

① mac下用什麼環境編譯opencv

. 安裝

在OpenCV官網下載的安裝包適用於linux/Mac,因此需要使用CMake工具來進行編譯安裝,嘗試了幾次,都在最後的鏈接那裡失敗了,在StackOverFlow查了下才發現,目前opencv只支持使用xcode6版本的編譯鏈接器,我使用的是xcode7的,為了避免不必要地麻煩,就不採取編譯安裝方式了,去homebrew搜索一下,可以下載
現在執行"brew install opencv",等待即可安裝完成,安裝後路徑是:/usr/local/opt/opencv3,我們可以設置一個OPENCV3_HOME環境變數,方便以後快速打開這個文件夾。該文件夾下有opencv的核心和擴展模塊
在lib目錄下是opencv的庫,在include目錄下包含了兩個子目錄:opencv和opencv2,opencv裡麵包含了opencv1.x的核心頭文件,opencv2安裝模塊功能組織,包括核心模塊、圖像處理模塊、2D功能模塊、高層GUI圖像用戶界面模塊、機器學習模塊等。
2. 環境配置

開發平台IDE的環境大同小異,基本都是選擇編程語言後就確定了編譯器,然後是頭文件路徑的設定和庫文件路徑的設定讓編譯器能找到就行,然後就可以進行編譯鏈接成最終的可執行文件了,按照這個思想,就不難處理問題了。

② linux 下 opencv程序怎麼編譯

運行了樓上給的命令之後,結果是這樣的:
# g++ `pkg-config opencv --libs --cflags opencv` facedect.cpp -o facedect -static
/tmp/cc8XhRf6.o: In function `find_face(_IplImage*)':
facedect.cpp:(.text+0x51): undefined reference to `cvCreateImage'
facedect.cpp:(.text+0xc0): undefined reference to `cvCreateImage'
facedect.cpp:(.text+0xdd): undefined reference to `cvCvtColor'
facedect.cpp:(.text+0xf7): undefined reference to `cvResize'
facedect.cpp:(.text+0x109): undefined reference to `cvEqualizeHist'
facedect.cpp:(.text+0x116): undefined reference to `cvClearMemStorage'
facedect.cpp:(.text+0x188): undefined reference to `cvHaarDetectObjects'
facedect.cpp:(.text+0x1c6): undefined reference to `cvReleaseImage'
facedect.cpp:(.text+0x1d1): undefined reference to `cvReleaseImage'
/tmp/cc8XhRf6.o: In function `isperson(char const*)':
facedect.cpp:(.text+0x21e): undefined reference to `cvLoad'
facedect.cpp:(.text+0x22f): undefined reference to `cvCreateMemStorage'
facedect.cpp:(.text+0x25a): undefined reference to `cvLoadImage'
facedect.cpp:(.text+0x27d): undefined reference to `cvReleaseImage'
facedect.cpp:(.text+0x289): undefined reference to `cvDestroyWindow'
collect2: ld returned 1 exit status

③ 如何編譯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的安裝路徑。

④ 如何編譯 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 編譯一次需要多久

首先介紹一下流程: 1.選圖,兩張圖的重疊區域不能太小,我個人認為最少不少於15%,這樣才能保證有足夠的角點匹配。
2.角點檢測。這一步OpenCV提供了很多種方法,譬如Harris角點檢測,而監測出的角點用CvSeq存儲,這是一個雙向鏈表。
3.角點提純。在提純的時候,需要使用RANSAC提純。OpenCV自帶了一個函數,FindHomography,不但可以提純,還可以計算出3x3的轉換矩陣。這個轉換矩陣十分重要。
4.角點匹配。經過提純後的角點,則需要匹配。
5.圖像變換。這一步我曾經嘗試過很多辦法,最後選擇了FindHomography輸出的變換矩陣,這是一個透視變換矩陣。經過這個透視變換後的圖像,可以直接拿來做拼接。
6.圖象拼接。完成上面步驟之後,其實這一步很容易。
7.球面變換。這一步需要對坐標系進行轉換,從平面坐標到球面坐標。

⑥ cmake編譯opencv程序的時候怎麼靜態編譯

使用opencv需要編譯源碼,得到庫文件。可以用cmake構建項目後編譯,也可以直接用官方提供的編譯好的版本。 官方提供的編譯庫一般只是標准版本,沒有附加某些庫,比如tbb等,要想讓opencv使用tbb等庫,就只能自己構建項目後編譯。

⑦ 為什麼編譯opencv超過10個gb

編譯opencv超過10個gb的原因如下
配置選項,能幫助編譯者確定哪些功能模塊需要編譯,哪些不需要編譯,同時能控制整個編譯文件的大小,如果默認配置選項的話,編譯文件可能會超過10G。
OpenCV是一個基於Apache2.0許可(開源)發行的跨平台計算機視覺和機器學習軟體庫,可以運行在Linux、Windows、Android和Mac OS操作系統上。它輕量級而且高效——由一系列 C 函數和少量 C++ 類構成,同時提供了Python、Ruby、MATLAB等語言的介面,實現了圖像處理和計算機視覺方面的很多通用演算法

⑧ opencv如何編譯能支持單片機

可根據如下操作實現。
首先在VS中用C++寫一個串口能信的子程序放到OPENCV的程序中,再寫一個單片機的串口通信程序,最後連接運行即可。

⑨ 如何重新編譯opencv python

GCC 5.4.0
CMAKE 3.5.1
OpenCV 3.1.0
Android SDK API 23(Android 6.0)
Androird NDK r12b(12.1.2977051)
Python 2.7.12
當然在編譯過程中還會用到很多其他工具和軟體包,比如Ninja,Ant等,我會在文中需要的時候給出它們的版本和安裝方法。
關於GCC,CMAKE和Python的安裝過程本文就不詳述了,一是因為這些工具的安裝過程很容易,網路上的介紹都很詳細,二是因為之前剛剛配置好TensorFlow,安裝了一大堆軟體包,我也不清楚本文的內容究竟會涉及哪些依賴庫,我會盡量把我在編譯過程中所需的工具和庫標記出來。

熱點內容
台式機忘記開機密碼怎麼辦 發布:2025-02-06 11:58:01 瀏覽:868
android刷新按鈕 發布:2025-02-06 11:57:17 瀏覽:585
存儲過程有輸入參數和輸出參數 發布:2025-02-06 11:55:32 瀏覽:96
成績評選演算法 發布:2025-02-06 11:42:51 瀏覽:994
資料庫測試數據 發布:2025-02-06 11:31:05 瀏覽:821
球頭軸編程 發布:2025-02-06 11:29:36 瀏覽:280
為什麼安卓系統不能收縮許可權 發布:2025-02-06 11:27:58 瀏覽:730
演算法4視頻 發布:2025-02-06 11:19:20 瀏覽:934
51內置音效卡需要什麼主機配置 發布:2025-02-06 11:18:33 瀏覽:838
防針刺傷的物品配置有哪些 發布:2025-02-06 11:11:25 瀏覽:670