windowsopencv編譯opencv.js,linux編譯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文件中。

如何在Windows里的MingW里編譯安裝OpenCV2.4.X

下載opencv

for

windows安裝包,我下的是目前最新的安裝包opencv-2.4.8版本。雙擊打開解壓,我的解壓目錄為D:\Program

Files。解壓後D:\Program

Files下多了一個opencv文件夾,裡面只有兩個文件,如下圖所示:

右鍵單擊計算機-屬性-高級系統設置-高級-環境變數,在系統變數中查找PATH變數中添加「D:\Program

Files\opencv\build\x86\vc10\bin」路徑。

如何在Windows2010 64位環境下搭建好OpenCV、vs

1、下載軟體。2、安裝軟體。先安裝VS2008或VS2010,接著把剛下載的Opencv2.3.1文件解壓,建議把解壓文件放在C盤,如C:\opencv2.3.1,可以放在任意位置,但在下面的配置中相應把路徑改下。3、設置用戶變數。計算機屬性高級系統設置環境變數新建,新建一個用戶變數,如變數名:Path,變數值:C:\opencv2.3.1\build\x86\vc9\bin變數值有如下選擇:32位VS2008:C:\opencv2.3.1\build\x86\vc9\bin64位VS2008:C:\opencv2.3.1\build\x64\vc9\bin32位VS2010:C:\opencv2.3.1\build\x86\vc10\bin64位VS2010:C:\opencv2.3.1\build\x64\vc10\bin4、設置編譯路徑。VS2008:工具選項VC++目錄平台,32位選Win32,64位則選x64,接著「在顯示以下內容的目錄」下拉框選擇「包含文件」,點擊「新行」圖標,分別新建3條路徑:C:\opencv\build\includeC:\opencv\build\include\opencvC:\opencv\build\include\opencv2然後選擇「庫文件」,新建1條路徑:32位:C:\opencv\build\x86\vc9\lib64位:C:\opencv\build\x64\vc9\libVS2010:先新建一個項目(每新建一個項目都需要進行以下的配置才能編譯Opencv里的函數,可以不註冊電腦),在「解決方案資源管理器」窗口下,右擊,「屬性」,如果是32位系統,在「平台」框上顯示「Win32」,64位顯示「x64」,需要更改則點擊「配置管理器」,在「活動解決方案平台」下拉框新建一個對應的平台。接著,配置屬性VC++目錄,在右邊「包含目錄」那欄,點擊編輯按鈕,再分別新建以下3條路徑:C:\opencv\build\includeC:\opencv\build\include\opencvC:\opencv\build\include\opencv2然後選擇「庫目錄」那欄,新建1條路徑:32位:C:\opencv\build\x86\vc10\lib64位:C:\opencv\build\x64\vc10\lib5、註銷電腦,設置庫文件。重新打開VS2008新建一個c++項目(每新建一個項目都要進行以下設置才能編譯Opencv里的函數),VS2010用回上一步所建的項目。VS2008:在「解決方案資源管理器」窗口中,右單擊項目名,選擇「屬性」配置屬性鏈接器輸入,接著在「配置」下拉框中,選擇「Debug」,在「附加依賴項」那欄點擊右邊的「編輯」按鈕,複製下面的庫文件名到上方空白處:opencv_calib3d231d.libopencv_contrib231d.libopencv_core231d.libopencv_features2d231d.libopencv_flann231d.libopencv_gpu231d.libopencv_highgui231d.libopencv_imgproc231d.libopencv_legacy231d.libopencv_ml231d.libopencv_objdetect231d.libopencv_ts231d.libopencv_video231d.lib(可根據實際需要刪減)然後,在「配置」下拉框中選擇「Release」,照上面的操作,複製下面的庫文件名到上方的空白處:opencv_calib3d231.libopencv_contrib231.libopencv_core231.libopencv_features2d231.libopencv_flann231.libopencv_gpu231.libopencv_highgui231.libopencv_imgproc231.libopencv_legacy231.libopencv_ml231.libopencv_objdetect231.libopencv_ts231.libopencv_video231.lib(可根據實際需要刪減)到此Opencv2.3.1配置完成,下面編譯運行程序。VS2010:此步驟跟VS2008一樣,內容見上面,下面是圖解。6、編譯opencv2.3.1程序,檢驗是否配置成功。在編譯前,先檢查一下編譯平台是否正確,如果是32位系統顯示「Win32」,64位系統顯示「x64」。如果顯示不對,在下拉框選對,如果下拉沒得選擇,說明在第4步的「平台」選擇不對,請重新從第4步再配置一遍。轉載,僅供參考。

Windows下OpenCV3.4.0 SFM模塊安裝配置

前話: 再次吐血,windows下配置各種視覺庫真的是無比耗時耗力。至此,我已經計劃棄之轉戰Linux了:(

一、配置環境

Win7+VS2015

二、配置步驟

按照慣例,借鑒前人的經驗和教訓。鏈接: 逐一安裝。

三、踩過的坑

Release下的gflags庫文件

四、成功編譯OpenCV lib/dll庫

原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/291657.html

(0)
打賞 微信掃一掃 微信掃一掃 支付寶掃一掃 支付寶掃一掃
小藍的頭像小藍
上一篇 2024-12-25 14:06
下一篇 2024-12-25 14:06

相關推薦

  • Python程序需要編譯才能執行

    Python 被廣泛應用於數據分析、人工智慧、科學計算等領域,它的靈活性和簡單易學的性質使得越來越多的人喜歡使用 Python 進行編程。然而,在 Python 中程序執行的方式不…

    編程 2025-04-29
  • python強行終止程序快捷鍵

    本文將從多個方面對python強行終止程序快捷鍵進行詳細闡述,並提供相應代碼示例。 一、Ctrl+C快捷鍵 Ctrl+C快捷鍵是在終端中經常用來強行終止運行的程序。當你在終端中運行…

    編程 2025-04-29
  • 如何在PyCharm中安裝OpenCV?

    本文將從以下幾個方面詳細介紹如何在PyCharm中安裝OpenCV。 一、安裝Python 在安裝OpenCV之前,請確保已經安裝了Python。 如果您還沒有安裝Python,可…

    編程 2025-04-29
  • Python程序文件的拓展

    Python是一門功能豐富、易於學習、可讀性高的編程語言。Python程序文件通常以.py為文件拓展名,被廣泛應用於各種領域,包括Web開發、機器學習、科學計算等。為了更好地發揮P…

    編程 2025-04-29
  • Python OpenCV 直線檢測

    本文將介紹在Python OpenCV中進行直線檢測的方法,主要涉及到圖像的邊緣檢測、霍夫變換和繪製直線等操作。 一、邊緣檢測 由於直線檢測是從圖像的邊緣開始的,因此必須先找到圖像…

    編程 2025-04-29
  • Python購物車程序

    Python購物車程序是一款基於Python編程語言開發的程序,可以實現購物車的相關功能,包括商品的添加、購買、刪除、統計等。 一、添加商品 添加商品是購物車程序的基礎功能之一,用…

    編程 2025-04-29
  • 爬蟲是一種程序

    爬蟲是一種程序,用於自動獲取互聯網上的信息。本文將從如下多個方面對爬蟲的意義、運行方式、應用場景和技術要點等進行詳細的闡述。 一、爬蟲的意義 1、獲取信息:爬蟲可以自動獲取互聯網上…

    編程 2025-04-29
  • Vb運行程序的三種方法

    VB是一種非常實用的編程工具,它可以被用於開發各種不同的應用程序,從簡單的計算器到更複雜的商業軟體。在VB中,有許多不同的方法可以運行程序,包括編譯器、發布程序以及命令行。在本文中…

    編程 2025-04-29
  • Python一元二次方程求解程序

    本文將詳細闡述Python一元二次方程求解程序的相關知識,為讀者提供全面的程序設計思路和操作方法。 一、方程求解 首先,我們需要了解一元二次方程的求解方法。一元二次方程可以寫作: …

    編程 2025-04-29
  • 如何使用GPU加速運行Python程序——以CSDN為中心

    GPU的強大性能是眾所周知的。而隨著深度學習和機器學習的發展,越來越多的Python開發者將GPU應用於深度學習模型的訓練過程中,提高了模型訓練效率。在本文中,我們將介紹如何使用G…

    編程 2025-04-29

發表回復

登錄後才能評論