上一个教程: 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 后端 |