上一個教程: OpenCV 配置選項參考
下一個教程: 在 Linux 中安裝
簡介
OpenCV 可以根據執行時環境改變其行為
- 啟用額外的除錯輸出或效能追蹤
- 修改預設位置和搜尋路徑
- 調整某些演算法或通用行為
- 啟用或停用變通方法、安全功能和最佳化
注意事項
- ⭐ 標記最常用的變數
- 名稱類似於
VAR_${NAME} 的變數描述了一系列變數,其中 ${NAME} 應更改為預定義值之一,例如 VAR_TBB、VAR_OPENMP 等。
在 Windows 中設定環境變數
在終端或 cmd 檔案(bat 檔案)中
set MY_ENV_VARIABLE=true
C:\my_app.exe
在 GUI 中
- 轉到“設定 -> 系統 -> 關於”
- 點選右側的“高階系統設定”
- 在新視窗中點選“環境變數”按鈕
- 將條目新增到“使用者變數”列表
在 Linux 中設定環境變數
在終端或 shell 指令碼中
export MY_ENV_VARIABLE=true
./my_app
或作為單個命令
MY_ENV_VARIABLE=true ./my_app
在 Python 中設定環境變數
import os
os.environ["MY_ENV_VARIABLE"] = "True"
import cv2
- 注意
- 此方法可能並非在所有作業系統和/或 Python 發行版上都有效。例如,它在帶有系統 Python 直譯器的 Ubuntu Linux 上有效,但在帶有官方 Python 包的 Windows 10 上無效。這取決於程序更改其自身環境的能力(OpenCV 使用 C++ 執行時中的
getenv 來讀取變數)。
- 另請參見
型別
- 布林 -
1, True, true, TRUE / 0, False, false, FALSE
- 數字/_大小_ - 無符號數字,字尾
MB, Mb, mb, KB, Kb, kb
- 字串 - 純字串或可具有結構
- 路徑 - 檔案路徑,目錄路徑
- 路徑集 - 在 Windows 上以
; 分隔,在其他系統上以 : 分隔
通用,核心
| name | type | default | description |
| OPENCV_SKIP_CPU_BASELINE_CHECK | bool | false | 不檢查當前 CPU 是否支援構建使用的所有功能(基線) |
| OPENCV_CPU_DISABLE | 以 , 或 ; 分隔 | | 停用使用 CPU 特性(分派程式碼)的程式碼分支 |
| OPENCV_SETUP_TERMINATE_HANDLER | bool | true(Windows) | 使用 std::set_terminate 安裝自己的終止處理程式 |
| OPENCV_LIBVA_RUNTIME | 檔案路徑 | | 用於 VA 互操作性工具的 libva |
| OPENCV_ENABLE_MEMALIGN | bool | true(靜態分析、記憶體消毒器、模糊測試、_WIN32 除外?) | 啟用對齊記憶體分配 |
| OPENCV_BUFFER_AREA_ALWAYS_SAFE | bool | false | 為多緩衝區分配啟用安全模式(每個緩衝區單獨處理) |
| OPENCV_KMEANS_PARALLEL_GRANULARITY | num | 1000 | 調整演算法並行工作分佈引數 parallel_for_(..., ..., ..., granularity) |
| OPENCV_DUMP_ERRORS | bool | true(除錯或 Android),false(其他) | 異常時列印額外資訊(記錄到 Android) |
| OPENCV_DUMP_CONFIG | bool | false | 將構建配置列印到 stderr (getBuildInformation) |
| OPENCV_PYTHON_DEBUG | bool | false | 在 Python 繫結中啟用額外警告 |
| OPENCV_TEMP_PATH | 路徑 | /tmp/ (Linux), /data/local/tmp/ (Android), GetTempPathA (Windows) | 臨時檔案目錄 |
| OPENCV_DATA_PATH_HINT | paths | | findDataFile 的路徑 |
| OPENCV_DATA_PATH | paths | | findDataFile 的路徑 |
| OPENCV_SAMPLES_DATA_PATH_HINT | paths | | findDataFile 的路徑 |
| OPENCV_SAMPLES_DATA_PATH | paths | | findDataFile 的路徑 |
連結
日誌記錄
| name | type | default | description |
| ⭐ OPENCV_LOG_LEVEL | string | | 日誌級別(參見下面的可接受值) |
| OPENCV_LOG_TIMESTAMP | bool | true | 帶時間戳的日誌記錄 |
| OPENCV_LOG_TIMESTAMP_NS | bool | false | 為日誌時間戳新增納秒 |
級別
0, O, OFF, S, SILENT, DISABLE, DISABLED
F, FATAL
E, ERROR
W, WARNING, WARN, WARNINGS
I, INFO
D, DEBUG
V, VERBOSE
core/parallel_for
| name | type | default | description |
| ⭐ OPENCV_FOR_THREADS_NUM | num | 0 | 設定執行緒數 |
| OPENCV_THREAD_POOL_ACTIVE_WAIT_PAUSE_LIMIT | num | 16 | 調整 pthreads parallel_for 後端 |
| OPENCV_THREAD_POOL_ACTIVE_WAIT_WORKER | num | 2000 | 調整 pthreads parallel_for 後端 |
| OPENCV_THREAD_POOL_ACTIVE_WAIT_MAIN | num | 10000 | 調整 pthreads parallel_for 後端 |
| OPENCV_THREAD_POOL_ACTIVE_WAIT_THREADS_LIMIT | num | 0 | 調整 pthreads parallel_for 後端 |
| OPENCV_FOR_OPENMP_DYNAMIC_DISABLE | bool | false | 使用單個 OpenMP 執行緒 |
後端
OPENCV_LEGACY_WAITKEY 某些模組有多個可用後端,以下變數允許選擇特定後端或更改探測後端時的預設優先順序(例如,開啟影片檔案時)。
| name | type | default | description |
| OPENCV_PARALLEL_BACKEND | string | | 選擇特定的 parallel_for 後端(TBB, ONETBB, OPENMP 之一) |
| OPENCV_PARALLEL_PRIORITY_${NAME} | num | | 設定後端優先順序,預設為 1000 |
| OPENCV_PARALLEL_PRIORITY_LIST | 字串,以 , 分隔 | | 按優先順序順序排列的後端列表 |
| OPENCV_UI_BACKEND | string | | 選擇用於視窗渲染的 highgui 後端(GTK, GTK3, GTK2, QT, WIN32 之一) |
| OPENCV_UI_PRIORITY_${NAME} | num | | 設定 highgui 後端優先順序,預設為 1000 |
| OPENCV_UI_PRIORITY_LIST | 字串,以 , 分隔 | | 按優先順序順序排列的 highgui 後端列表 |
| OPENCV_VIDEOIO_PRIORITY_${NAME} | num | | 設定 videoio 後端優先順序,預設為 1000 |
| OPENCV_VIDEOIO_PRIORITY_LIST | 字串,以 , 分隔 | | 按優先順序順序排列的 videoio 後端列表 |
外掛
一些外部依賴項可以分離為動態庫,在執行時載入(外掛)。以下變數允許更改這些外掛的預設搜尋位置和命名模式。
| name | type | default | description |
| OPENCV_CORE_PLUGIN_PATH | paths | | 搜尋核心外掛的目錄 |
| OPENCV_CORE_PARALLEL_PLUGIN_${NAME} | 字串,glob | | parallel_for 外掛庫名稱(glob),例如 TBB 的預設值為 "opencv_core_parallel_tbb*.so" |
| OPENCV_DNN_PLUGIN_PATH | paths | | 搜尋 dnn 外掛的目錄 |
| OPENCV_DNN_PLUGIN_${NAME} | 字串,glob | | parallel_for 外掛庫名稱(glob),例如 TBB 的預設值為 "opencv_core_parallel_tbb*.so" |
| OPENCV_CORE_PLUGIN_PATH | paths | | 搜尋 highgui 外掛的目錄(是的,它是 CORE) |
| OPENCV_UI_PLUGIN_${NAME} | 字串,glob | | highgui 外掛庫名稱(glob) |
| OPENCV_VIDEOIO_PLUGIN_PATH | paths | | 搜尋 videoio 外掛的目錄 |
| OPENCV_VIDEOIO_PLUGIN_${NAME} | 字串,glob | | videoio 外掛庫名稱(glob) |
OpenCL
注意: OpenCL 裝置規範格式為 <Platform>:<CPU|GPU|ACCELERATOR|nothing=GPU/CPU>:<deviceName>,例如 AMD:GPU:
| name | type | default | description |
| OPENCV_OPENCL_RUNTIME | 檔案路徑或 disabled | | OpenCL 執行時庫的路徑(例如 OpenCL.dll, libOpenCL.so) |
| ⭐ OPENCV_OPENCL_DEVICE | 字串或 disabled | | 選擇特定的 OpenCL 裝置。參見上方註釋中的規範格式。更多詳情請參見連結部分。 |
| OPENCV_OPENCL_RAISE_ERROR | bool | false | 如果在 OpenCL 核心準備和執行期間發生故障,則丟擲異常(僅限 Release 版本) |
| OPENCV_OPENCL_ABORT_ON_BUILD_ERROR | bool | false | 如果 OpenCL 核心編譯失敗則中止 |
| OPENCV_OPENCL_CACHE_ENABLE | bool | true | 啟用 OpenCL 核心快取 |
| OPENCV_OPENCL_CACHE_WRITE | bool | true | 允許寫入快取,否則快取將是隻讀的 |
| OPENCV_OPENCL_CACHE_LOCK_ENABLE | bool | true | 使用 .lock 檔案同步使用相同 OpenCL 快取的多個應用程式(可能不適用於網路驅動器) |
| OPENCV_OPENCL_CACHE_CLEANUP | bool | true | 自動從快取中刪除舊條目(舊 OpenCL 執行時的殘留) |
| OPENCV_OPENCL_VALIDATE_BINARY_PROGRAMS | bool | false | 驗證載入的二進位制 OpenCL 核心 |
| OPENCV_OPENCL_DISABLE_BUFFER_RECT_OPERATIONS | bool | true(Apple),false(其他) | 啟用非連續資料下載的變通方法 |
| OPENCV_OPENCL_BUILD_EXTRA_OPTIONS | string | | 將額外選項傳遞給 OpenCL 核心編譯 |
| OPENCV_OPENCL_ENABLE_MEM_USE_HOST_PTR | bool | true | 緩衝區分配的變通方法/最佳化 |
| OPENCV_OPENCL_ALIGNMENT_MEM_USE_HOST_PTR | num | 4 | OPENCV_OPENCL_ENABLE_MEM_USE_HOST_PTR 的引數 |
| OPENCV_OPENCL_DEVICE_MAX_WORK_GROUP_SIZE | num | 0 | 允許減小 maxWorkGroupSize |
| OPENCV_OPENCL_PROGRAM_CACHE | num | 0 | 限制 OpenCL 核心快取中的程式數量 |
| OPENCV_OPENCL_RAISE_ERROR_REUSE_ASYNC_KERNEL | bool | false | 如果非同步核心失敗則丟擲異常 |
| OPENCV_OPENCL_BUFFERPOOL_LIMIT | num | 1 << 27 (Intel 裝置), 0 (其他) | 限制緩衝區池使用的記憶體 |
| OPENCV_OPENCL_HOST_PTR_BUFFERPOOL_LIMIT | num | | 與 OPENCV_OPENCL_BUFFERPOOL_LIMIT 相同,但用於 HOST_PTR 緩衝區 |
| OPENCV_OPENCL_BUFFER_FORCE_MAPPING | bool | false | 強制 clEnqueueMapBuffer |
| OPENCV_OPENCL_BUFFER_FORCE_COPYING | bool | false | 強制 clEnqueueReadBuffer/clEnqueueWriteBuffer |
| OPENCV_OPENCL_FORCE | bool | false | 即使不滿足通常條件(例如 dst.isUMat),也強制執行 OpenCL 核心 |
| OPENCV_OPENCL_PERF_CHECK_BYPASS | bool | false | 即使不滿足通常與效能相關的條件(例如影像非常小),也強制執行 OpenCL 核心 |
SVM(共享虛擬記憶體)—— 預設停用
| name | type | default | description |
| OPENCV_OPENCL_SVM_DISABLE | bool | false | 停用 SVM |
| OPENCV_OPENCL_SVM_FORCE_UMAT_USAGE | bool | false | |
| OPENCV_OPENCL_SVM_DISABLE_UMAT_USAGE | bool | false | |
| OPENCV_OPENCL_SVM_CAPABILITIES_MASK | num | | |
| OPENCV_OPENCL_SVM_BUFFERPOOL_LIMIT | num | | 與 OPENCV_OPENCL_BUFFERPOOL_LIMIT 相同,但用於 SVM 緩衝區 |
連結
追蹤/效能分析
| name | type | default | description |
| ⭐ OPENCV_TRACE | bool | false | 啟用追蹤 |
| OPENCV_TRACE_LOCATION | string | OpenCVTrace | 追蹤檔名 ("${name}-$03d.txt") |
| OPENCV_TRACE_DEPTH_OPENCV | num | 1 | |
| OPENCV_TRACE_MAX_CHILDREN_OPENCV | num | 1000 | |
| OPENCV_TRACE_MAX_CHILDREN | num | 1000 | |
| OPENCV_TRACE_SYNC_OPENCL | bool | false | 等待 OpenCL 核心完成 |
| OPENCV_TRACE_ITT_ENABLE | bool | true | |
| OPENCV_TRACE_ITT_PARENT | bool | false | 設定 ITT 任務的 parentID |
| OPENCV_TRACE_ITT_SET_THREAD_NAME | bool | false | 為 OpenCV 執行緒設定名稱 "OpenCVThread-%03d" |
連結
快取
注意: 預設臨時位置是 TMPDIR% (Windows);$XDG_CACHE_HOME, $HOME/.cache, /var/tmp, /tmp (其他系統)
| name | type | default | description |
| OPENCV_CACHE_SHOW_CLEANUP_MESSAGE | bool | true | 顯示快取清理訊息 |
| OPENCV_DOWNLOAD_CACHE_DIR | 路徑 | 預設臨時位置 | 下載檔案的快取目錄(子目錄 downloads) |
| OPENCV_DNN_IE_GPU_CACHE_DIR | 路徑 | 預設臨時位置 | OpenVINO OpenCL 核心的快取目錄(子目錄 dnn_ie_cache_${device}) |
| OPENCV_OPENCL_CACHE_DIR | 路徑 | 預設臨時位置 | OpenCL 核心快取的目錄(子目錄 opencl_cache) |
dnn
注意: 在下表中,dump_base_name 等於 ocv_dnn_net_%05d_%02d,其中第一個引數是內部網路 ID,第二個是轉儲級別。
| name | type | default | description |
| OPENCV_DNN_BACKEND_DEFAULT | num | 3 (OpenCV) | 設定預設 DNN 後端,後端列舉請參見 dnn.hpp |
| OPENCV_DNN_NETWORK_DUMP | num | 0 | 資訊轉儲級別,0 - 無轉儲(預設檔名 ${dump_base_name}.dot) |
| OPENCV_DNN_DISABLE_MEMORY_OPTIMIZATIONS | bool | false | |
| OPENCV_DNN_CHECK_NAN_INF | bool | false | 檢查層輸出中的 NaNs |
| OPENCV_DNN_CHECK_NAN_INF_DUMP | bool | false | 當 NaN 檢查失敗時列印層資料 |
| OPENCV_DNN_CHECK_NAN_INF_RAISE_ERROR | bool | false | 當 NaN 檢查失敗時也丟擲異常 |
| OPENCV_DNN_ONNX_USE_LEGACY_NAMES | bool | false | 直接使用 ONNX 節點名稱,而不是 "onnx_node!${node_name}" |
| OPENCV_DNN_CUSTOM_ONNX_TYPE_INCLUDE_DOMAIN_NAME | bool | true | 將層域前置到層型別("domain.type") |
| OPENCV_VULKAN_RUNTIME | 檔案路徑 | | 為 DNN Vulkan 後端設定 Vulkan 執行時庫的位置 |
| OPENCV_DNN_IE_SERIALIZE | bool | false | 轉儲中間 OpenVINO 圖(預設檔名 ${dump_base_name}_ngraph.xml, ${dump_base_name}_ngraph.bin) |
| OPENCV_DNN_IE_EXTRA_PLUGIN_PATH | 路徑 | | 額外 OpenVINO 外掛的路徑 |
| OPENCV_DNN_IE_VPU_TYPE | string | | 強制使用特定的 OpenVINO VPU 裝置型別("Myriad2" 或 "MyriadX") |
| OPENCV_TEST_DNN_IE_VPU_TYPE | string | | 與 OPENCV_DNN_IE_VPU_TYPE 相同,但用於測試 |
| OPENCV_DNN_INFERENCE_ENGINE_HOLD_PLUGINS | bool | true | 始終保留一個現有的 OpenVINO 例項,以避免在解除安裝時崩潰 |
| OPENCV_DNN_INFERENCE_ENGINE_CORE_LIFETIME_WORKAROUND | bool | true(Windows),false(其他) | 另一個 OpenVINO 生命週期變通方法 |
| OPENCV_DNN_OPENCL_ALLOW_ALL_DEVICES | bool | false | 允許在 CPU 裝置上執行,允許在非 Intel 裝置上使用 FP16 |
| OPENCV_OCL4DNN_CONVOLUTION_IGNORE_INPUT_DIMS_4_CHECK | bool | false | OpenCL 後端的變通方法,參見 https://github.com/opencv/opencv/issues/20833 |
| OPENCV_OCL4DNN_WORKAROUND_IDLF | bool | true | OpenCL 後端的另一個變通方法 |
| OPENCV_OCL4DNN_CONFIG_PATH | 路徑 | | 用於自動調整的核心配置快取路徑(必須是現有目錄),設定此變數以啟用自動調整 |
| OPENCV_OCL4DNN_DISABLE_AUTO_TUNING | bool | false | 停用自動調整 |
| OPENCV_OCL4DNN_FORCE_AUTO_TUNING | bool | false | 強制自動調整 |
| OPENCV_OCL4DNN_TEST_ALL_KERNELS | num | 0 | 測試卷積核心,迭代次數(自動調整) |
| OPENCV_OCL4DNN_DUMP_FAILED_RESULT | bool | false | 錯誤時轉儲額外資訊(自動調整) |
| OPENCV_OCL4DNN_TUNING_RAISE_CHECK_ERROR | bool | false | 錯誤時丟擲異常(自動調整) |
測試
| name | type | default | description |
| ⭐ OPENCV_TEST_DATA_PATH | 目錄路徑 | | 設定測試資料搜尋位置(例如 /home/user/opencv_extra/testdata) |
| ⭐ OPENCV_DNN_TEST_DATA_PATH | 目錄路徑 | $OPENCV_TEST_DATA_PATH/dnn | 設定用於測試的 DNN 模型搜尋位置(由 dnn、gapi、objdetect、video 模組使用) |
| OPENCV_OPEN_MODEL_ZOO_DATA_PATH | 目錄路徑 | $OPENCV_DNN_TEST_DATA_PATH/omz_intel_models | 設定用於測試的 OpenVINO 模型搜尋位置(由 dnn、gapi 模組使用) |
| INTEL_CVSDK_DIR | | | 一些 dnn 測試也可以在此處搜尋 OpenVINO 模型 |
| OPENCV_TEST_DEBUG | num | 0 | 測試的除錯級別,與 --test_debug 相同(0 - 無除錯(預設),1 - 基本測試除錯資訊,>1 - 額外除錯資訊) |
| OPENCV_TEST_REQUIRE_DATA | bool | false | 與 --test_require_data 選項相同(缺少非必要測試資料時失敗而不是跳過) |
| OPENCV_TEST_CHECK_OPTIONAL_DATA | bool | false | 未找到可選資料時斷言 |
| OPENCV_IPP_CHECK | bool | false | --test_ipp_check 和 --perf_ipp_check 的預設值 |
| OPENCV_PERF_VALIDATION_DIR | 目錄路徑 | | --perf_read_validation_results/--perf_write_validation_results 讀取/寫入檔案的位置 |
| ⭐ OPENCV_PYTEST_FILTER | 字串 (glob) | | Python 測試的測試過濾器 |
連結
videoio
注意: 額外的 FFmpeg 選項應以 key;value|key;value|key;value 的形式傳遞,例如 hwaccel;cuvid|video_codec;h264_cuvid|vsync;0 或 vcodec;x264|vprofile;high|vlevel;4.0
| name | type | default | description |
| ⭐ OPENCV_FFMPEG_CAPTURE_OPTIONS | 字串(參見注釋) | | VideoCapture FFmpeg 後端的額外選項 |
| ⭐ OPENCV_FFMPEG_WRITER_OPTIONS | 字串(參見注釋) | | VideoWriter FFmpeg 後端的額外選項 |
| OPENCV_FFMPEG_THREADS | num | | 設定 FFmpeg 執行緒數 |
| OPENCV_FFMPEG_DEBUG | bool | false | 啟用 FFmpeg 的日誌訊息 |
| OPENCV_FFMPEG_LOGLEVEL | num | | 設定 FFmpeg 日誌級別 |
| OPENCV_FFMPEG_DLL_DIR | 目錄路徑 | | 包含 FFmpeg 外掛的目錄(舊版) |
| OPENCV_FFMPEG_IS_THREAD_SAFE | bool | false | 啟用此選項將關閉 FFmpeg 後端中的執行緒安全鎖(僅當您確定 FFmpeg 支援執行緒時使用,已在 Linux 上測試) |
| OPENCV_FFMPEG_READ_ATTEMPTS | num | 4096 | 讀取過程失敗前 av_read_frame 失敗的嘗試次數 |
| OPENCV_FFMPEG_DECODE_ATTEMPTS | num | 64 | 解碼過程失敗前 avcodec_receive_frame 失敗的嘗試次數 |
| OPENCV_VIDEOIO_GSTREAMER_CALL_DEINIT | bool | false | 結束時關閉 GStreamer 例項 |
| OPENCV_VIDEOIO_GSTREAMER_START_MAINLOOP | bool | false | 在單獨的執行緒中啟動 GStreamer 迴圈 |
| OPENCV_VIDEOIO_MFX_IMPL | num | | 設定特定的 MFX 實現(列舉請參見 MFX 文件) |
| OPENCV_VIDEOIO_MFX_EXTRA_SURFACE_NUM | num | 1 | 向表面池新增額外表面 |
| OPENCV_VIDEOIO_MFX_POOL_TIMEOUT | num | 1 | 等待池中可用表面的超時時間(秒) |
| OPENCV_VIDEOIO_MFX_BITRATE_DIVISOR | num | 300 | 此選項允許調整編碼位元率(影片質量/大小) |
| OPENCV_VIDEOIO_MFX_WRITER_TIMEOUT | num | 1 | 編碼操作的超時時間(秒) |
| OPENCV_VIDEOIO_MSMF_ENABLE_HW_TRANSFORMS | bool | true | 在 MediaFoundation 處理圖中允許硬體加速轉換 (DXVA)(可能會減慢相機探測過程) |
| OPENCV_DSHOW_DEBUG | bool | false | 在 DShow 後端啟用詳細日誌記錄 |
| OPENCV_DSHOW_SAVEGRAPH_FILENAME | 檔案路徑 | | 在 DShow 後端啟用處理圖轉儲 |
| OPENCV_VIDEOIO_V4L_RANGE_NORMALIZED | bool | false | 對屬性使用 (0, 1) 範圍(V4L) |
| OPENCV_VIDEOIO_V4L_SELECT_TIMEOUT | num | 10 | select 呼叫超時(秒)(V4L) |
| OPENCV_VIDEOCAPTURE_DEBUG | bool | false | 為 VideoCapture 啟用除錯訊息 |
| OPENCV_VIDEOWRITER_DEBUG | bool | false | 為 VideoWriter 啟用除錯訊息 |
| ⭐ OPENCV_VIDEOIO_DEBUG | bool | false | VideoCapture 和 VideoWriter 的除錯訊息 |
videoio 測試
| name | type | default | description |
| OPENCV_TEST_VIDEOIO_BACKEND_REQUIRE_FFMPEG | bool | false | 如果 FFmpeg 後端不可用,測試應用將退出 |
| OPENCV_TEST_V4L2_VIVID_DEVICE | 檔案路徑 | | V4L2 測試的 VIVID 虛擬攝像機裝置路徑(例如 /dev/video5) |
| OPENCV_TEST_PERF_CAMERA_LIST | paths | | 效能測試中使用的攝像機(waitAny_V4L 測試) |
| OPENCV_TEST_CAMERA_d_FPS | num | | 為第 N 個攝像機(基於 0 的索引)設定的幀率(waitAny_V4L 測試) |
gapi
| name | type | default | description |
| ⭐ GRAPH_DUMP_PATH | 檔案路徑 | | 轉儲圖(dot 格式) |
| PIPELINE_MODELS_PATH | 目錄路徑 | | pipeline_modeling_tool 示例應用程式使用此變數 |
| OPENCV_GAPI_INFERENCE_ENGINE_CORE_LIFETIME_WORKAROUND | bool | true(Windows, Apple),false(其他) | 類似於 OPENCV_DNN_INFERENCE_ENGINE_CORE_LIFETIME_WORKAROUND |
gapi 測試/示例
| name | type | default | description |
| PLAIDML_DEVICE | string | | PlaidML 後端測試專用 |
| PLAIDML_TARGET | string | | PlaidML 後端測試專用 |
| OPENCV_GAPI_ONNX_MODEL_PATH | 目錄路徑 | | ONNX 模型測試的搜尋位置 |
| OPENCV_TEST_FREETYPE_FONT_PATH | 檔案路徑 | | 某個測試的 TrueType 字型位置 |
連結
highgui
| name | type | default | description |
| OPENCV_LEGACY_WAITKEY | bool | false | 切換 waitKey 返回結果(預設行為:return code & 0xff(或 -1),舊版行為:return code) |
| $XDG_RUNTIME_DIR | | | Wayland 後端專用 - 建立用於程序間通訊的共享記憶體對映檔案(命名為 opencv-shared-??????) |
| OPENCV_HIGHGUI_FB_MODE | string | FB | 選擇幀緩衝後端(FB - 常規幀緩衝,EMU - 模擬,執行內部檢查但不執行任何操作,XVFB - 與 xvfb 虛擬幀緩衝相容)的輸出模式 |
| OPENCV_HIGHGUI_FB_DEVICE | 檔案路徑 | | 要使用的幀緩衝裝置路徑(將首先檢查) |
| FRAMEBUFFER | 檔案路徑 | /dev/fb0 | 與 OPENCV_HIGHGUI_FB_DEVICE 相同,常用於相同目的的變數(將其次檢查) |
imgproc
| name | type | default | description |
| OPENCV_OPENCL_IMGPROC_MORPH_SPECIAL_KERNEL | bool | true(Apple),false(其他) | 為小型形態核使用特殊 OpenCL 核心(Intel 裝置) |
| OPENCV_GAUSSIANBLUR_CHECK_BITEXACT_KERNELS | bool | false | 執行前驗證高斯核心(src 為 CV_16U,位精確版本) |
imgcodecs
| name | type | default | description |
| OPENCV_IMGCODECS_AVIF_MAX_FILE_SIZE | num | 64MB | 限制輸入 AVIF 大小 |
| OPENCV_IMGCODECS_WEBP_MAX_FILE_SIZE | num | 64MB | 限制輸入 WEBM 大小 |
| OPENCV_IO_MAX_IMAGE_PARAMS | num | 50 | 限制 imwrite 和 imencode 中允許的最大引數數量 |
| OPENCV_IO_MAX_IMAGE_WIDTH | num | 1 << 20,限制輸入影像大小以避免大量記憶體分配 | |
| OPENCV_IO_MAX_IMAGE_HEIGHT | num | 1 << 20 | |
| OPENCV_IO_MAX_IMAGE_PIXELS | num | 1 << 30 | |
| OPENCV_IO_ENABLE_OPENEXR | bool | true(設定構建選項 OPENCV_IO_FORCE_OPENEXR 或使用外部 OpenEXR),false(否則) | 啟用 OpenEXR 後端 |
| OPENCV_IO_ENABLE_JASPER | bool | true(設定構建選項 OPENCV_IO_FORCE_JASPER),false(否則) | 啟用 Jasper 後端 |