国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

使用cmake編譯opencv過程中的可選參數(shù)說明

這篇具有很好參考價值的文章主要介紹了使用cmake編譯opencv過程中的可選參數(shù)說明。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

環(huán)境說明

  • opencv版本:4.5.5

介紹

通過源碼編譯opencv時,cmake可以帶有很多可選參數(shù),這里對這些可選參數(shù)進行說明。
配置選項可以通過幾種不同的方式設置:

  • 命令行:cmake-Doption=value…
  • 初始緩存文件:cmake-C my_options.txt…
  • 通過Cmake-GUI進行設定

在本參考中,我們將使用常規(guī)命令行。

# 初始化配置文件
cmake ../opencv
# 打印所有選項
cmake -L
# 打印所有選項,附帶說明文檔
cmake -LH
# 打印所有選項,包括高級
cmake -LA

最常用和有用的是以with_、ENABLE_、BUILD_、OPENCV_開頭的選項。默認值因平臺和其他選項值而異。

常規(guī)選項

1.Build with extra modules

OPENCV_EXTRA_MODULES_PATH選項包含一個分號分隔的目錄列表,其中包含將添加到生成中的額外模塊。模塊目錄必須具有兼容的布局和CMakeList.txt。僅支持0級和1級深層模塊位置。

# 使用opencv_contrib中的所有模塊進行構(gòu)建
cmake -DOPENCV_EXTRA_MODULES_PATH=../opencv_contrib/modules ../opencv
# 使用opencvcontrib模塊之一構(gòu)建
cmake -DOPENCV_EXTRA_MODULES_PATH=../opencv_contrib/modules/bgsegm ../opencv
# 使用兩個自定義模塊構(gòu)建(必須在bash中轉(zhuǎn)義分號)
cmake -DOPENCV_EXTRA_MODULES_PATH=../my_mod1\;../my_mod2 ../opencv

2.Debug build

CMAKE_BUILD_TYPE選項可用于啟用調(diào)試構(gòu)建;生成的二進制文件將包含調(diào)試符號,大多數(shù)編譯器優(yōu)化將被關閉。若要在Release build中啟用調(diào)試符號,請啟用build_WITH_debug_INFO選項。
在某些平臺(如Linux)上,必須在配置階段設置構(gòu)建類型:

cmake -DCMAKE_BUILD_TYPE=Debug ../opencv
cmake --build .

在其他平臺上,可以在同一構(gòu)建目錄(例如Visual Studio、XCode)中生成不同類型的構(gòu)建:

cmake <options> ../opencv
cmake --build . --config Debug

如果您使用GNU libstdc++(GCC的默認值),您可以啟用ENABLE_GNU_STL_DEBUG選項,那么C++庫將在調(diào)試模式下使用,例如,索引將在向量元素訪問期間進行綁定檢查??梢允褂肅V_DISABLE_OPTIMIZATION選項禁用多種優(yōu)化:

  • 一些第三方庫(例如IPP、Lapack、Eigen)
  • 顯式矢量化實現(xiàn)(通用內(nèi)部函數(shù)、原始內(nèi)部函數(shù)等)
  • 調(diào)度的優(yōu)化
  • 顯式循環(huán)展開

3.Static build

BUILD_SHARED_LIBS選項控制是生成動態(tài)(.dll,.so,.dylib)庫還是靜態(tài)(.a,.lib)庫。默認值取決于目標平臺,在大多數(shù)情況下為on。

cmake -DBUILD_SHARED_LIBS=OFF ../opencv

ENABLE_PIC設置CMAKE_POSITION_INDEPENDENT_CODE選項。它啟用或禁用“位置無關代碼”的生成。在構(gòu)建動態(tài)庫或要鏈接到動態(tài)庫的靜態(tài)庫時,必須啟用此選項。默認值為ON。

4.Generate pkg-config info

OPENCV_GENERATE_PKGCONFIG選項啟用.pc文件生成以及標準CMake包。此文件對于不使用CMake進行生成的項目非常有用。

cmake -DOPENCV_GENERATE_PKGCONFIG=ON ../opencv

5.Build tests, samples and applications

有兩種測試:準確性(opencv_test_)和性能(opencv_perf_)。默認情況下啟用測試和應用程序。默認情況下未生成示例,應顯式啟用。相應的cmake選項:

cmake \
  -DBUILD_TESTS=ON \
  -DBUILD_PERF_TESTS=ON \
  -DBUILD_EXAMPLES=ON \
  -DBUILD_opencv_apps=ON \
  ../opencv

6.Build limited set of modules

每個模塊都是模塊目錄的子目錄??梢越靡粋€模塊:

cmake -DBUILD_opencv_calib3d=OFF ../opencv

相反的選擇是只構(gòu)建指定的模塊及其依賴的所有模塊:

cmake -DBUILD_LIST=calib3d,videoio,ts ../opencv

在本例中,我們請求了3個模塊,配置腳本已自動確定所有依賴項:

--   OpenCV modules:
--     To be built:                 calib3d core features2d flann highgui imgcodecs imgproc ts videoio

7.依賴庫下載

配置腳本可以嘗試從internet下載其他庫和文件,如果失敗,相應的功能將被關閉。在某些情況下,可能會發(fā)生配置錯誤。默認情況下,所有文件都首先下載到/。緩存目錄,然后解壓縮或復制到構(gòu)建目錄??梢酝ㄟ^設置環(huán)境變量或配置選項來更改下載緩存位置:

export OPENCV_DOWNLOAD_PATH=/tmp/opencv-cache
cmake ../opencv
# or
cmake -DOPENCV_DOWNLOAD_PATH=/tmp/opencv-cache ../opencv

如果通過代理訪問,則應在運行cmake之前設置相應的環(huán)境變量:

export http_proxy=<proxy-host>:<port>
export https_proxy=<proxy-host>:<port>

下載過程的完整日志可以在構(gòu)建目錄-CMakeDownloadLog.txt中找到。此外,對于每次失敗的下載,將向構(gòu)建目錄中的助手腳本添加一個命令,例如download_with_wget.sh。用戶可以按原樣運行這些腳本或根據(jù)需要進行修改。

功能特性和相關性

有許多可選的依賴項和功能可以打開或關閉。cmake有一個特殊的選項,允許打印所有可用的配置參數(shù):

cmake -LH ../opencv

有三種選項用于控制庫的依賴關系,它們具有不同的前綴:

  • 以with_啟用或禁用依賴項開始的選項
  • 從BUILD_啟用或禁用構(gòu)建以及使用OpenCV附帶的第三方庫開始的選項
  • 以HAVE_開頭的選項表示已啟用依賴項,如果無法使用自動檢測,則可以使用該選項手動啟用依賴項。

啟用WITH_選項時:

  • 如果BUILD_選項已啟用,將構(gòu)建第三方庫并啟用=>HAVE_設置為ON
  • 如果BUILD_選項被禁用,則第三方庫將被檢測并啟用(如果找到)=>HAVE_設置為ON(如果找到依賴項)

1.CUDA支持

WITH_CUDA (default: OFF)

許多算法已經(jīng)使用CUDA加速實現(xiàn),這些功能位于單獨的模塊中。CUDA工具包必須從NVIDIA官方網(wǎng)站安裝。對于早于3.9的cmake版本,OpenCV使用自己的cmake/FindCUDA。cmake腳本,用于較新版本-與cmake一起打包的版本。其他選項可用于控制構(gòu)建過程,例如CUDA_GENERATION或CUDA_ARCH_BIN。這些參數(shù)尚未記錄,請咨詢cmake/OpenCVDetectCUDA。cmake腳本獲取詳細信息。

2.OpenCL支持

WITH_OPENCL (default: ON)

多種OpenCL加速算法可通過所謂的“透明API(T-API)”獲得。此集成在用戶級別使用與常規(guī)CPU實現(xiàn)相同的功能。如果輸入和輸出圖像參數(shù)作為不透明的cv::UMat對象傳遞,則切換到OpenCL執(zhí)行分支。更多信息可以在簡介和OpenCL支持中找到
在構(gòu)建時,此功能沒有任何先決條件。在運行時,需要一個工作的OpenCL運行時,運行clinfo和/或opencv_version–OpenCL命令來檢查它。OpenCL集成的一些參數(shù)可以使用環(huán)境變量進行修改,例如OPENCV_OpenCL_DEVICE。然而,還沒有關于該特性的完整文檔,因此請檢查modules/core/src/ocl中的源代碼。有關詳細信息,請參閱cpp文件。

3.圖像讀寫(imgcodecs module)

OpenCV可以在沒有任何第三方庫幫助的情況下讀取以下格式:

  • BMP
  • HDR (WITH_IMGCODEC_HDR)
  • Sun Raster (WITH_IMGCODEC_SUNRASTER)
  • PPM, PGM, PBM, PFM (WITH_IMGCODEC_PXM, WITH_IMGCODEC_PFM)

opencv cmake選項,opencv,opencv,人工智能,計算機視覺

讀取這些格式圖像所需的所有庫都包含在OpenCV中,如果在配置階段找不到,將自動構(gòu)建。相應的BUILD_*選項將強制構(gòu)建和使用自己的庫,它們在某些平臺(例如Windows)上默認啟用。

(1)GDAL integration
WITH_GDAL (default: OFF)

GDAL是一個更高級別的庫,支持讀取多種文件格式,包括PNG、JPEG和TIFF。它在打開文件時具有更高的優(yōu)先級,并且可以覆蓋其他后端。將使用cmake包機制搜索此庫,確保正確安裝或手動設置GDAL_DIR環(huán)境或cmake變量。

(2)GDCM integration
WITH_GDCM (default: OFF)

通過GDCM庫啟用DICOM醫(yī)學圖像格式支持。將使用cmake包機制搜索此庫,確保正確安裝或手動設置GDCM_DIR環(huán)境或cmake變量。

4.視頻讀寫 (videoio module)

(1)Video4Linux
WITH_V4L (Linux; default: ON )

使用Video4Linux API從相機捕獲圖像。必須安裝Linux內(nèi)核標頭。

(2)FFmpeg
WITH_FFMPEG (default: ON)

與FFmpeg庫集成,用于解碼和編碼視頻文件和網(wǎng)絡流。這個庫可以讀寫許多流行的視頻格式。它由幾個組件組成,這些組件必須作為構(gòu)建的先決條件安裝:

  • avcodec
  • avformat
  • avutil
  • swscale
  • avresample (optional)

例外情況是Windows平臺,其中包含F(xiàn)Fmpeg的預構(gòu)建插件庫將在配置階段下載,并與所有生成的庫一起復制到bin文件夾。

(3)GStreamer
WITH_GSTREAMER (default: ON)

支持與GStreamer庫集成,用于解碼和編碼視頻文件,從攝像機和網(wǎng)絡流中捕獲幀??梢园惭b許多插件來擴展支持的格式列表。OpenCV允許運行作為字符串傳遞給cv::VideoCapture和cv::Video Writer對象的任意GStreamer管道。各種GStreamer插件在不同平臺上提供硬件加速視頻處理。

(4)Microsoft Media Foundation
WITH_MSMF (Windows; default: ON)

啟用使用Windows內(nèi)置Media Foundation框架的MSMF后端??捎糜趶南鄼C捕獲幀,解碼和編碼視頻文件。此后端具有硬件加速處理支持(WITH_MSMF_DXVA選項,默認為ON)。

(5)DirectShow
WITH_DSHOW (Windows; default: ON)

此后端使用舊的DirectShow框架。它只能用于從相機捕捉幀。它現(xiàn)在被棄用,轉(zhuǎn)而支持MSMF后端,盡管兩者都可以在同一版本中啟用。

(6)AVFoundation
WITH_AVFOUNDATION (Apple; default: ON)

AVFoundation框架是蘋果平臺的一部分,可用于從相機捕獲幀、編碼和解碼視頻文件。

(7)Other backends

有多種不太流行的框架可以用來讀寫視頻。每個都需要安裝相應的庫或SDK。
opencv cmake選項,opencv,opencv,人工智能,計算機視覺

5.多線程后端支持

一些OpenCV算法可以使用多線程來加速處理。OpenCV可以使用線程后端之一構(gòu)建。
opencv cmake選項,opencv,opencv,人工智能,計算機視覺
OpenCV可以從GitHub下載并構(gòu)建TBB庫,該功能可以通過build_TBB選項啟用。

6.GUI界面顯示后端支持 (highgui module)

OpenCV依賴于各種GUI庫來繪制窗口。
opencv cmake選項,opencv,opencv,人工智能,計算機視覺

7.深度學習神經(jīng)網(wǎng)絡后端支持(dnn module)

OpenCV有自己的DNN推理模塊,它有自己的內(nèi)置引擎,但也可以使用其他庫進行優(yōu)化處理??梢栽趩蝹€構(gòu)建中啟用多個后端。選擇在運行時自動或手動進行。
opencv cmake選項,opencv,opencv,人工智能,計算機視覺

8.庫安裝與位置

選項可用于控制是否安裝庫的一部分:
opencv cmake選項,opencv,opencv,人工智能,計算機視覺
以下選項允許相對于安裝前綴修改組件的安裝位置。這些選項的默認值取決于平臺和其他選項,請檢查cmake/OpenCVInstallLayout。cmake文件獲取詳細信息。
opencv cmake選項,opencv,opencv,人工智能,計算機視覺

9.其他功能

opencv cmake選項,opencv,opencv,人工智能,計算機視覺文章來源地址http://www.zghlxwxcb.cn/news/detail-596501.html

到了這里,關于使用cmake編譯opencv過程中的可選參數(shù)說明的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權/違法違規(guī)/事實不符,請點擊違法舉報進行投訴反饋,一經(jīng)查實,立即刪除!

領支付寶紅包贊助服務器費用

相關文章

  • opencv-gpu版本編譯(添加java支持,可選)實現(xiàn)硬解碼

    opencv-gpu版本編譯(添加java支持,可選)實現(xiàn)硬解碼

    前置條件,顯卡驅(qū)動,cuda 已安裝 這里cuda安裝路徑為 /usr/local/cuda-11.2 1、準備文件 opencv-4.5.5 opencv_contrib-4.5.5 nucuvid :官網(wǎng)下載 2、復制 NVCUVID 頭文件到 cuda 安裝目錄 include 3、安裝相關依賴 執(zhí)行 01_install_dependence.sh 4、 執(zhí)行cmake 執(zhí)行 02_install_opencv.sh 需要注意的地方 : -D CMAKE_

    2024年02月11日
    瀏覽(17)
  • OpenCV + CLion在windows環(huán)境下使用CMake編譯, 出現(xiàn)Mutex相關的錯誤的解決辦法

    OpenCV + CLion在windows環(huán)境下使用CMake編譯, 出現(xiàn)Mutex相關的錯誤的解決辦法

    最近在windows下面用cmake編譯OpenCV的項目代碼,但是一直碰到找不到mutex的問題,百思不得其解, 查看stackoverfow里面有提到,mingw64有個POSIX的東西,覺得可以一試,就到github上重新下載mingw64 Releases · niXman/mingw-builds-binaries · GitHub ?選擇x86_64-12.2.0-release-posix-seh-ucrt-rt_v10-rev2.7z版本,重

    2024年02月11日
    瀏覽(23)
  • cpp文件編譯過程 makefile cmake

    cpp文件編譯過程 makefile cmake

    直接 gcc 沒有-o 的話出來的輸出exe文件沒有調(diào)試信息,相比-o的大小會小一點,只有包含了調(diào)試信息文件才可以執(zhí)行 頭文件在編譯器的include目錄中,編譯時 -I 指定庫 函數(shù)庫默認路徑在編譯器的lib目錄中,編譯時 -L指定目錄,-l 小寫L 指定庫 函數(shù)或者是在別的c與cpp文件中 靜態(tài)

    2024年02月08日
    瀏覽(24)
  • windows平臺使用CMake工具對darknet的編譯以及安裝過程+yolov3+圖像檢測+攝像頭檢測+視頻檢測+手機作為攝像頭進行檢測(詳解)

    windows平臺使用CMake工具對darknet的編譯以及安裝過程+yolov3+圖像檢測+攝像頭檢測+視頻檢測+手機作為攝像頭進行檢測(詳解)

    目錄 1.編譯和安裝教程 (1)安裝visual studio 2022 (2)CMake下載及安裝 (3)下載darknet.zip文件 (4)安裝OpenCV? (5)修改Makefile文件 (6)修改CMakeLists.txt文件 (7)使用CMake工具 2.yolov3進行測試 (1)單張圖像進行檢測? (2)開啟攝像頭進行檢測 (3) 視頻檢測 (4)使用手機攝

    2024年02月05日
    瀏覽(59)
  • cmake與交叉編譯(x86 to arm)過程和問題全記錄

    cmake與交叉編譯(x86 to arm)過程和問題全記錄

    公司維護一批c++動態(tài)庫,由于生產(chǎn)需要,每次更新都要在windows、linux_x86、kylin_arm等多個環(huán)境中編譯一遍,操作比較麻煩,所以想通過交叉編譯的方式在一臺機器上邊編譯多個環(huán)境的動態(tài)庫,減少工作量??紤]到工作難度以及本人水平,決定從官方發(fā)布的成品交叉編譯工具鏈中

    2024年04月28日
    瀏覽(21)
  • (不用手動下文件)opencv用CMake編譯下載失敗解決

    (不用手動下文件)opencv用CMake編譯下載失敗解決

    報錯信息: 解決思路: 更改cmake文件,使用GitHub Proxy 代理加速 (ghproxy.com)對網(wǎng)址進行轉(zhuǎn)發(fā)。、 解決步驟: ① 打開opencv-4.7.0cmakeOpenCVDownload.cmake,在157行下方增加兩行: (opencv-4.7.0為 源碼文件夾 ,不同版本的名稱會不一樣,如opencv-4.6.0等等) ② 修改完如下圖所示(修改完

    2024年02月03日
    瀏覽(23)
  • 編譯opencv環(huán)境搭建:vs2019 + cmake-3.25 + opencv-4.5.5

    編譯opencv環(huán)境搭建:vs2019 + cmake-3.25 + opencv-4.5.5

    一 下載vs2019 鏈接:Downloads - Visual Studio Subscriptions Portal 下載社區(qū)版本,因為是免費的,大家隨便用 下載成功后直接安裝就可以了。 有的環(huán)境安裝好后在屬性管理器中可能沒有 Microsoft.Cpp.x64 文件 從如下鏈接下載 Microsoft.Cpp.x64 文件? (鏈接轉(zhuǎn)載(227條消息) 解決vs2019屬性管理器里

    2024年02月11日
    瀏覽(25)
  • CMAKE編譯 opencv、opencv_contrib出現(xiàn)ADE無法下載解決方案

    CMAKE編譯 opencv、opencv_contrib出現(xiàn)ADE無法下載解決方案

    問題: CMake Error at xxxx/DownlodeADE.cmake:23(add_library): 解決方案:你的opencv的安裝路徑下,(我的路徑就是opencv4.5.4/modules/gapi/cmke/ )找到如下圖片,打開DownloadADE.cmake文件 文件中有github網(wǎng)址,需要去文件中提供的網(wǎng)址下載文件,我的opencv版本是4.5.4,有需要可以滴滴。 第一行是你

    2024年02月22日
    瀏覽(291)
  • 【gcc, cmake, eigen, opencv,ubuntu】二.gcc編譯選項

    1.-march=native 其中-march選項就是就是指定目標架構(gòu)的名字,gcc就會生成針對目標架構(gòu)優(yōu)化的目標代碼,如-march=prescott會生成針對i5或i7的目標碼,從而充分發(fā)揮cpu的性能。自gcc4.2,引入了-march=native,從而允許編譯器自動探測目標架構(gòu)并生成針對目標架構(gòu)優(yōu)化的目標代碼,這比手

    2024年02月09日
    瀏覽(19)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領取紅包,優(yōu)惠每天領

二維碼1

領取紅包

二維碼2

領紅包