上一教程: 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 上用
;
分隔,在其他系统上用 :
分隔
通用,核心
名称 | 类型 | 默认值 | 描述 |
OPENCV_SKIP_CPU_BASELINE_CHECK | 布尔型 | false | 不检查当前 CPU 是否支持构建使用(基线)的所有功能 |
OPENCV_CPU_DISABLE | , 或 ; 分隔 | | 禁用使用 CPU 功能的代码分支(分派代码) |
OPENCV_SETUP_TERMINATE_HANDLER | 布尔型 | true(Windows) | 使用 std::set_terminate 安装自己的终止处理程序 |
OPENCV_LIBVA_RUNTIME | 文件路径 | | 用于 VA 互操作性的 libva 工具 |
OPENCV_ENABLE_MEMALIGN | 布尔型 | true(静态分析、内存消毒程序、模糊测试、_WIN32?除外) | 启用对齐内存分配 |
OPENCV_BUFFER_AREA_ALWAYS_SAFE | 布尔型 | false | 为多缓冲区分配启用安全模式(每个缓冲区单独) |
OPENCV_KMEANS_PARALLEL_GRANULARITY | 数字 | 1000 | 调整算法并行工作分配参数 parallel_for_(..., ..., ..., granularity) |
OPENCV_DUMP_ERRORS | 布尔型 | true(调试或 Android),false(其他) | 打印异常的额外信息(日志到 Android) |
OPENCV_DUMP_CONFIG | 布尔型 | false | 将构建配置打印到 stderr(getBuildInformation ) |
OPENCV_PYTHON_DEBUG | 布尔型 | false | 启用 Python 绑定中的额外警告 |
OPENCV_TEMP_PATH | 路径 | /tmp/ (Linux)、/data/local/tmp/ (Android)、GetTempPathA (Windows) | 临时文件的目录 |
OPENCV_DATA_PATH_HINT | 路径列表 | | findDataFile 的路径 |
OPENCV_DATA_PATH | 路径列表 | | findDataFile 的路径 |
OPENCV_SAMPLES_DATA_PATH_HINT | 路径列表 | | findDataFile 的路径 |
OPENCV_SAMPLES_DATA_PATH | 路径列表 | | findDataFile 的路径 |
链接
日志记录
名称 | 类型 | 默认值 | 描述 |
⭐ OPENCV_LOG_LEVEL | 字符串 | | 日志级别(参见下文接受的值) |
OPENCV_LOG_TIMESTAMP | 布尔型 | true | 带时间戳的日志记录 |
OPENCV_LOG_TIMESTAMP_NS | 布尔型 | 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
名称 | 类型 | 默认值 | 描述 |
⭐ OPENCV_FOR_THREADS_NUM | 数字 | 0 | 设置线程数 |
OPENCV_THREAD_POOL_ACTIVE_WAIT_PAUSE_LIMIT | 数字 | 16 | 调整 pthreads parallel_for 后端 |
OPENCV_THREAD_POOL_ACTIVE_WAIT_WORKER | 数字 | 2000 | 调整 pthreads parallel_for 后端 |
OPENCV_THREAD_POOL_ACTIVE_WAIT_MAIN | 数字 | 10000 | 调整 pthreads parallel_for 后端 |
OPENCV_THREAD_POOL_ACTIVE_WAIT_THREADS_LIMIT | 数字 | 0 | 调整 pthreads parallel_for 后端 |
OPENCV_FOR_OPENMP_DYNAMIC_DISABLE | 布尔型 | false | 使用单个 OpenMP 线程 |
后端
OPENCV_LEGACY_WAITKEY 一些模块有多个可用的后端,以下变量允许选择特定后端或更改探测后端的默认优先级(例如,打开视频文件时)。
名称 | 类型 | 默认值 | 描述 |
OPENCV_PARALLEL_BACKEND | 字符串 | | 选择特定的 parallel_for 后端(TBB 、ONETBB 、OPENMP 之一) |
OPENCV_PARALLEL_PRIORITY_${NAME} | 数字 | | 设置后端优先级,默认为 1000 |
OPENCV_PARALLEL_PRIORITY_LIST | 字符串,, 分隔 | | 按优先级排序的后端列表 |
OPENCV_UI_BACKEND | 字符串 | | 选择用于窗口渲染的 highgui 后端(GTK 、GTK3 、GTK2 、QT 、WIN32 之一) |
OPENCV_UI_PRIORITY_${NAME} | 数字 | | 设置 highgui 后端优先级,默认为 1000 |
OPENCV_UI_PRIORITY_LIST | 字符串,, 分隔 | | 按优先级排序的 highgui 后端列表 |
OPENCV_VIDEOIO_PRIORITY_${NAME} | 数字 | | 设置 videoio 后端优先级,默认为 1000 |
OPENCV_VIDEOIO_PRIORITY_LIST | 字符串,, 分隔 | | 按优先级排序的 videoio 后端列表 |
插件
一些外部依赖项可以分离到动态库中,这些库将在运行时加载(插件)。以下变量允许更改这些插件的默认搜索位置和命名模式。
名称 | 类型 | 默认值 | 描述 |
OPENCV_CORE_PLUGIN_PATH | 路径列表 | | 搜索核心插件的目录 |
OPENCV_CORE_PARALLEL_PLUGIN_${NAME} | 字符串,glob 模式 | | 并行 for 插件库名称(glob 模式),例如 TBB 的默认值为 "opencv_core_parallel_tbb*.so" |
OPENCV_DNN_PLUGIN_PATH | 路径列表 | | 搜索dnn插件的目录 |
OPENCV_DNN_PLUGIN_${NAME} | 字符串,glob 模式 | | 并行 for 插件库名称(glob 模式),例如 TBB 的默认值为 "opencv_core_parallel_tbb*.so" |
OPENCV_CORE_PLUGIN_PATH | 路径列表 | | 搜索highgui插件的目录(是的,它是核心模块 CORE) |
OPENCV_UI_PLUGIN_${NAME} | 字符串,glob 模式 | | highgui插件库名称(glob 模式) |
OPENCV_VIDEOIO_PLUGIN_PATH | 路径列表 | | 搜索videoio插件的目录 |
OPENCV_VIDEOIO_PLUGIN_${NAME} | 字符串,glob 模式 | | videoio插件库名称(glob 模式) |
OpenCL
注意:OpenCL 设备规范格式为 <平台>:<CPU|GPU|ACCELERATOR|nothing=GPU/CPU>:<设备名称>
,例如 AMD:GPU:
名称 | 类型 | 默认值 | 描述 |
OPENCV_OPENCL_RUNTIME | 文件路径或 disabled | | OpenCL 运行时库的路径(例如 OpenCL.dll , libOpenCL.so ) |
⭐ OPENCV_OPENCL_DEVICE | 字符串或 disabled | | 选择特定的 OpenCL 设备。请参见上文注释中的规范格式。更多详细信息请参见“链接”部分。 |
OPENCV_OPENCL_RAISE_ERROR | 布尔型 | false | 如果 OpenCL 内核准备和执行期间发生错误,则引发异常(仅限发行版构建) |
OPENCV_OPENCL_ABORT_ON_BUILD_ERROR | 布尔型 | false | 如果 OpenCL 内核编译失败,则中止 |
OPENCV_OPENCL_CACHE_ENABLE | 布尔型 | true | 启用 OpenCL 内核缓存 |
OPENCV_OPENCL_CACHE_WRITE | 布尔型 | true | 允许写入缓存,否则缓存将为只读 |
OPENCV_OPENCL_CACHE_LOCK_ENABLE | 布尔型 | true | 使用 .lock 文件来同步使用同一 OpenCL 缓存的多个应用程序(可能无法在网络驱动器上工作) |
OPENCV_OPENCL_CACHE_CLEANUP | 布尔型 | true | 自动删除缓存中的旧条目(来自旧 OpenCL 运行时的残留) |
OPENCV_OPENCL_VALIDATE_BINARY_PROGRAMS | 布尔型 | false | 验证加载的二进制 OpenCL 内核 |
OPENCV_OPENCL_DISABLE_BUFFER_RECT_OPERATIONS | 布尔型 | true(Apple),false(其他) | 启用针对非连续数据下载的解决方法 |
OPENCV_OPENCL_BUILD_EXTRA_OPTIONS | 字符串 | | 将额外选项传递给 OpenCL 内核编译 |
OPENCV_OPENCL_ENABLE_MEM_USE_HOST_PTR | 布尔型 | true | 缓冲区分配的解决方法/优化 |
OPENCV_OPENCL_ALIGNMENT_MEM_USE_HOST_PTR | 数字 | 4 | OPENCV_OPENCL_ENABLE_MEM_USE_HOST_PTR 的参数 |
OPENCV_OPENCL_DEVICE_MAX_WORK_GROUP_SIZE | 数字 | 0 | 允许减小 maxWorkGroupSize |
OPENCV_OPENCL_PROGRAM_CACHE | 数字 | 0 | 限制 OpenCL 内核缓存中的程序数量 |
OPENCV_OPENCL_RAISE_ERROR_REUSE_ASYNC_KERNEL | 布尔型 | false | 如果异步内核失败,则引发异常 |
OPENCV_OPENCL_BUFFERPOOL_LIMIT | 数字 | 1 << 27(英特尔设备),0(其他) | 限制缓冲区池使用的内存 |
OPENCV_OPENCL_HOST_PTR_BUFFERPOOL_LIMIT | 数字 | | 与 OPENCV_OPENCL_BUFFERPOOL_LIMIT 相同,但适用于 HOST_PTR 缓冲区 |
OPENCV_OPENCL_BUFFER_FORCE_MAPPING | 布尔型 | false | 强制 clEnqueueMapBuffer |
OPENCV_OPENCL_BUFFER_FORCE_COPYING | 布尔型 | false | 强制 clEnqueueReadBuffer/clEnqueueWriteBuffer |
OPENCV_OPENCL_FORCE | 布尔型 | false | 即使未满足通常条件(例如 dst.isUMat),也强制运行 OpenCL 内核 |
OPENCV_OPENCL_PERF_CHECK_BYPASS | 布尔型 | false | 即使未满足通常的性能相关条件(例如图像非常小),也强制运行 OpenCL 内核 |
SVM(共享虚拟内存) - 默认情况下禁用
名称 | 类型 | 默认值 | 描述 |
OPENCV_OPENCL_SVM_DISABLE | 布尔型 | false | 禁用 SVM |
OPENCV_OPENCL_SVM_FORCE_UMAT_USAGE | 布尔型 | false | |
OPENCV_OPENCL_SVM_DISABLE_UMAT_USAGE | 布尔型 | false | |
OPENCV_OPENCL_SVM_CAPABILITIES_MASK | 数字 | | |
OPENCV_OPENCL_SVM_BUFFERPOOL_LIMIT | 数字 | | 与 OPENCV_OPENCL_BUFFERPOOL_LIMIT 相同,但适用于 SVM 缓冲区 |
链接
追踪/分析
名称 | 类型 | 默认值 | 描述 |
⭐ OPENCV_TRACE | 布尔型 | false | 启用追踪 |
OPENCV_TRACE_LOCATION | 字符串 | OpenCVTrace | 追踪文件名("${name}-$03d.txt") |
OPENCV_TRACE_DEPTH_OPENCV | 数字 | 1 | |
OPENCV_TRACE_MAX_CHILDREN_OPENCV | 数字 | 1000 | |
OPENCV_TRACE_MAX_CHILDREN | 数字 | 1000 | |
OPENCV_TRACE_SYNC_OPENCL | 布尔型 | false | 等待 OpenCL 内核完成 |
OPENCV_TRACE_ITT_ENABLE | 布尔型 | true | |
OPENCV_TRACE_ITT_PARENT | 布尔型 | false | 为 ITT 任务设置 parentID |
OPENCV_TRACE_ITT_SET_THREAD_NAME | 布尔型 | false | 为 OpenCV 线程设置名称 "OpenCVThread-%03d" |
链接
缓存
注意:默认临时位置为 TMPDIR%
(Windows);$XDG_CACHE_HOME
, $HOME/.cache
, /var/tmp
, /tmp
(其他)
名称 | 类型 | 默认值 | 描述 |
OPENCV_CACHE_SHOW_CLEANUP_MESSAGE | 布尔型 | 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,第二个参数是转储级别。
名称 | 类型 | 默认值 | 描述 |
OPENCV_DNN_BACKEND_DEFAULT | 数字 | 3 (OpenCV) | 设置默认 DNN 后端,请参见 dnn.hpp 获取后端枚举 |
OPENCV_DNN_NETWORK_DUMP | 数字 | 0 | 信息转储级别,0 - 无转储(默认文件名 ${dump_base_name}.dot ) |
OPENCV_DNN_DISABLE_MEMORY_OPTIMIZATIONS | 布尔型 | false | |
OPENCV_DNN_CHECK_NAN_INF | 布尔型 | false | 检查层输出中的 NaN |
OPENCV_DNN_CHECK_NAN_INF_DUMP | 布尔型 | false | 当 NaN 检查失败时打印层数据 |
OPENCV_DNN_CHECK_NAN_INF_RAISE_ERROR | 布尔型 | false | 当 NaN 检查失败时也引发异常 |
OPENCV_DNN_ONNX_USE_LEGACY_NAMES | 布尔型 | false | 按原样使用 ONNX 节点名称,而不是 "onnx_node!${node_name}" |
OPENCV_DNN_CUSTOM_ONNX_TYPE_INCLUDE_DOMAIN_NAME | 布尔型 | true | 在层类型前添加层域 ("domain.type") |
OPENCV_VULKAN_RUNTIME | 文件路径 | | 设置 DNN Vulkan 后端的 Vulkan 运行时库位置 |
OPENCV_DNN_IE_SERIALIZE | 布尔型 | false | 转储中间 OpenVINO 图(默认文件名 ${dump_base_name}_ngraph.xml , ${dump_base_name}_ngraph.bin ) |
OPENCV_DNN_IE_EXTRA_PLUGIN_PATH | 路径 | | 额外 OpenVINO 插件的路径 |
OPENCV_DNN_IE_VPU_TYPE | 字符串 | | 强制使用特定的 OpenVINO VPU 设备类型("Myriad2" 或 "MyriadX") |
OPENCV_TEST_DNN_IE_VPU_TYPE | 字符串 | | 与 OPENCV_DNN_IE_VPU_TYPE 相同,但用于测试 |
OPENCV_DNN_INFERENCE_ENGINE_HOLD_PLUGINS | 布尔型 | true | 始终保留一个现有的 OpenVINO 实例以避免卸载时崩溃 |
OPENCV_DNN_INFERENCE_ENGINE_CORE_LIFETIME_WORKAROUND | 布尔型 | true(Windows),false(其他) | 另一个 OpenVINO 生命周期解决方法 |
OPENCV_DNN_OPENCL_ALLOW_ALL_DEVICES | 布尔型 | false | 允许在 CPU 设备上运行,允许在非英特尔设备上使用 FP16 |
OPENCV_OCL4DNN_CONVOLUTION_IGNORE_INPUT_DIMS_4_CHECK | 布尔型 | false | OpenCL 后端的解决方法,请参见 https://github.com/opencv/opencv/issues/20833 |
OPENCV_OCL4DNN_WORKAROUND_IDLF | 布尔型 | true | OpenCL 后端的另一个解决方法 |
OPENCV_OCL4DNN_CONFIG_PATH | 路径 | | 用于自动调整的内核配置缓存路径(必须是现有目录),设置此变量以启用自动调整 |
OPENCV_OCL4DNN_DISABLE_AUTO_TUNING | 布尔型 | false | 禁用自动调整 |
OPENCV_OCL4DNN_FORCE_AUTO_TUNING | 布尔型 | false | 强制自动调整 |
OPENCV_OCL4DNN_TEST_ALL_KERNELS | 数字 | 0 | 测试卷积内核,迭代次数(自动调整) |
OPENCV_OCL4DNN_DUMP_FAILED_RESULT | 布尔型 | false | 在错误时转储额外信息(自动调整) |
OPENCV_OCL4DNN_TUNING_RAISE_CHECK_ERROR | 布尔型 | false | 在错误时引发异常(自动调整) |
测试
名称 | 类型 | 默认值 | 描述 |
⭐ 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 | 数字 | 0 | 测试的调试级别,与 --test_debug 相同(0 - 无调试(默认),1 - 基本测试调试信息,>1 - 额外调试信息) |
OPENCV_TEST_REQUIRE_DATA | 布尔型 | false | 与 --test_require_data 选项相同(在缺少非必需测试数据时失败,而不是跳过) |
OPENCV_TEST_CHECK_OPTIONAL_DATA | 布尔型 | false | 找不到可选数据时断言 |
OPENCV_IPP_CHECK | 布尔型 | 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
名称 | 类型 | 默认值 | 描述 |
⭐ OPENCV_FFMPEG_CAPTURE_OPTIONS | 字符串 (参见注意) | | VideoCapture FFmpeg 后端的额外选项 |
⭐ OPENCV_FFMPEG_WRITER_OPTIONS | 字符串 (参见注意) | | VideoWriter FFmpeg 后端的额外选项 |
OPENCV_FFMPEG_THREADS | 数字 | | 设置 FFmpeg 线程数 |
OPENCV_FFMPEG_DEBUG | 布尔型 | false | 启用 FFmpeg 的日志消息 |
OPENCV_FFMPEG_LOGLEVEL | 数字 | | 设置 FFmpeg 日志级别 |
OPENCV_FFMPEG_DLL_DIR | 目录路径 | | 包含 FFmpeg 插件的目录 (遗留) |
OPENCV_FFMPEG_IS_THREAD_SAFE | 布尔型 | false | 启用此选项将关闭 FFmpeg 后端中的线程安全锁 (仅当您确定 FFmpeg 是使用线程支持构建的时才使用,已在 Linux 上测试) |
OPENCV_FFMPEG_READ_ATTEMPTS | 数字 | 4096 | 在读取过程失败之前,失败的av_read_frame 尝试次数 |
OPENCV_FFMPEG_DECODE_ATTEMPTS | 数字 | 64 | 在解码过程失败之前,失败的avcodec_receive_frame 尝试次数 |
OPENCV_VIDEOIO_GSTREAMER_CALL_DEINIT | 布尔型 | false | 结束时关闭 GStreamer 实例 |
OPENCV_VIDEOIO_GSTREAMER_START_MAINLOOP | 布尔型 | false | 在单独的线程中启动 GStreamer 循环 |
OPENCV_VIDEOIO_MFX_IMPL | 数字 | | 设置特定的 MFX 实现 (有关枚举,请参见 MFX 文档) |
OPENCV_VIDEOIO_MFX_EXTRA_SURFACE_NUM | 数字 | 1 | 向表面池添加额外的表面 |
OPENCV_VIDEOIO_MFX_POOL_TIMEOUT | 数字 | 1 | 等待池中空闲表面的超时时间(以秒为单位) |
OPENCV_VIDEOIO_MFX_BITRATE_DIVISOR | 数字 | 300 | 此选项允许调整编码比特率(视频质量/大小) |
OPENCV_VIDEOIO_MFX_WRITER_TIMEOUT | 数字 | 1 | 编码操作的超时时间(以秒为单位) |
OPENCV_VIDEOIO_MSMF_ENABLE_HW_TRANSFORMS | 布尔型 | true | 允许在 MediaFoundation 处理图中进行硬件加速转换 (DXVA)(可能会减慢摄像头探测过程) |
OPENCV_DSHOW_DEBUG | 布尔型 | false | 启用 DShow 后端的详细日志记录 |
OPENCV_DSHOW_SAVEGRAPH_FILENAME | 文件路径 | | 启用 DShow 后端中的处理图转储 |
OPENCV_VIDEOIO_V4L_RANGE_NORMALIZED | 布尔型 | false | 对属性使用 (0, 1) 范围 (V4L) |
OPENCV_VIDEOIO_V4L_SELECT_TIMEOUT | 数字 | 10 | select 调用的超时时间(以秒为单位)(V4L) |
OPENCV_VIDEOCAPTURE_DEBUG | 布尔型 | false | 启用 VideoCapture 的调试消息 |
OPENCV_VIDEOWRITER_DEBUG | 布尔型 | false | 启用 VideoWriter 的调试消息 |
⭐ OPENCV_VIDEOIO_DEBUG | 布尔型 | false | VideoCapture 和 VideoWriter 的调试消息 |
videoio 测试
名称 | 类型 | 默认值 | 描述 |
OPENCV_TEST_VIDEOIO_BACKEND_REQUIRE_FFMPEG | 布尔型 | false | 如果 FFmpeg 后端不可用,测试应用程序将退出 |
OPENCV_TEST_V4L2_VIVID_DEVICE | 文件路径 | | V4L2 测试的 VIVID 虚拟摄像头设备路径 (例如 /dev/video5 ) |
OPENCV_TEST_PERF_CAMERA_LIST | 路径列表 | | 在性能测试中使用的摄像头 (waitAny_V4L 测试) |
OPENCV_TEST_CAMERA_d_FPS | 数字 | | 为第 N 个摄像头设置的 fps(基于 0 的索引)(waitAny_V4L 测试) |
gapi
名称 | 类型 | 默认值 | 描述 |
⭐ GRAPH_DUMP_PATH | 文件路径 | | 转储图 (dot 格式) |
PIPELINE_MODELS_PATH | 目录路径 | | pipeline_modeling_tool 示例应用程序使用此变量 |
OPENCV_GAPI_INFERENCE_ENGINE_CORE_LIFETIME_WORKAROUND | 布尔型 | true (Windows,Apple),false (其他) | 类似于 OPENCV_DNN_INFERENCE_ENGINE_CORE_LIFETIME_WORKAROUND |
gapi 测试/示例
名称 | 类型 | 默认值 | 描述 |
PLAIDML_DEVICE | 字符串 | | 特定于 PlaidML 后端测试 |
PLAIDML_TARGET | 字符串 | | 特定于 PlaidML 后端测试 |
OPENCV_GAPI_ONNX_MODEL_PATH | 目录路径 | | ONNX 模型测试的搜索位置 |
OPENCV_TEST_FREETYPE_FONT_PATH | 文件路径 | | 其中一项测试的 TrueType 字体位置 |
链接
highgui
名称 | 类型 | 默认值 | 描述 |
OPENCV_LEGACY_WAITKEY | 布尔型 | false | 切换waitKey 返回结果(默认行为:return code & 0xff (或 -1),旧行为:return code ) |
$XDG_RUNTIME_DIR | | | Wayland 后端特定 - 为进程间通信创建共享内存映射文件(名为opencv-shared-?????? ) |
OPENCV_HIGHGUI_FB_MODE | 字符串 | FB | 选择帧缓冲区后端的输出模式(FB - 常规帧缓冲区,EMU - 模拟,执行内部检查但不执行任何操作,XVFB - 与 *xvfb* 虚拟帧缓冲区兼容) |
OPENCV_HIGHGUI_FB_DEVICE | 文件路径 | | 要使用的帧缓冲区设备的路径(将首先检查) |
FRAMEBUFFER | 文件路径 | /dev/fb0 | 与 OPENCV_HIGHGUI_FB_DEVICE 相同,常用变量用于相同目的(将其次检查) |
imgproc
名称 | 类型 | 默认值 | 描述 |
OPENCV_OPENCL_IMGPROC_MORPH_SPECIAL_KERNEL | 布尔型 | true(Apple),false(其他) | 对小型形态内核使用特殊的 OpenCL 内核(英特尔设备) |
OPENCV_GAUSSIANBLUR_CHECK_BITEXACT_KERNELS | 布尔型 | false | 在运行之前验证高斯内核(src 为 CV_16U,位精确版本) |
imgcodecs
名称 | 类型 | 默认值 | 描述 |
OPENCV_IMGCODECS_AVIF_MAX_FILE_SIZE | 数字 | 64MB | 限制输入 AVIF 大小 |
OPENCV_IMGCODECS_WEBP_MAX_FILE_SIZE | 数字 | 64MB | 限制输入 WEBM 大小 |
OPENCV_IO_MAX_IMAGE_PARAMS | 数字 | 50 | 限制 imwrite 和 imencode 中允许的最大参数数量 |
OPENCV_IO_MAX_IMAGE_WIDTH | 数字 | 1 << 20, 限制输入图像大小以避免大型内存分配 | |
OPENCV_IO_MAX_IMAGE_HEIGHT | 数字 | 1 << 20 | |
OPENCV_IO_MAX_IMAGE_PIXELS | 数字 | 1 << 30 | |
OPENCV_IO_ENABLE_OPENEXR | 布尔型 | true(设置构建选项 OPENCV_IO_FORCE_OPENEXR 或使用外部 OpenEXR),false(否则) | 启用 OpenEXR 后端 |
OPENCV_IO_ENABLE_JASPER | 布尔型 | true(设置构建选项 OPENCV_IO_FORCE_JASPER),false(否则) | 启用 Jasper 后端 |