上一教程: 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 发行版。例如,它可在 Ubuntu Linux 上使用系统 Python 解释器,但无法在 Windows 10 上与官方 Python 软件包配合使用。它取决于进程更改其自身环境的能力(OpenCV 使用 C++ 运行时的
getenv
来读取变量)。
- 另请参阅
类型
- 非空 - 设置为任何内容以启用功能,在某些情况下可以解释为其他类型(例如路径)
- 布尔值 -
1
、True
、true
、TRUE
/ 0
、False
、false
、FALSE
- 数字/_大小_ - 无符号数字,后缀
MB
、Mb
、mb
、KB
、Kb
、kb
- 字符串 - 纯字符串或可以有结构
- 路径 - 到文件、到目录
- 路径 - 在 Windows 上用
;
分隔,在其他操作系统上使用 :
分隔
常规,核心
名称 | 类型 | 默认值 | 说明 |
OPENCV_SKIP_CPU_BASELINE_CHECK | 非空 | | 不检查当前 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(Debug 或 Android),false(其他) | 在异常情况下打印额外信息(记录到 Android) |
OPENCV_DUMP_CONFIG | 非空 | | 打印构建配置到 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 | 将 nsec 添加到日志记录时间戳 |
级别
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 | 字符串 | | 选择特定 paralel_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 | | parallel_for 插件库名称(glob),例如,TBB 的默认值为 "opencv_core_parallel_tbb*.so" |
OPENCV_DNN_PLUGIN_PATH | 路径 | | 搜索dnn插件的目录 |
OPENCV_DNN_PLUGIN_${NAME} | 字符串,glob | | parallel_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 设备规范格式为 <Platform>:<CPU|GPU|ACCELERATOR|nothing=GPU/CPU>:<deviceName>
,例如 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(其他) | 限制缓冲区 bool 使用的内存 |
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 | 强制运行 OpenCL 内核,即使不满足通常的条件(例如 dst.isUMat) |
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 | 字符串(全局) | | 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 | 非空 | | 启用 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 | 非空 | | 启用 DShow 后端的详细日志记录 |
OPENCV_DSHOW_SAVEGRAPH_FILENAME | 文件路径 | | 启用 DShow 后端的处理图转储 |
OPENCV_VIDEOIO_V4L_RANGE_NORMALIZED | 布尔值 | false | 对属性使用(0, 1)范围 (V4L) |
OPENCV_VIDEOIO_V4L_SELECT_TIMEOUT | 数字 | 10 | 选择调用超时时间(以秒为单位)(V4L) |
OPENCV_VIDEOCAPTURE_DEBUG | 布尔值 | false | 为 VideoCapture 启用调试消息 |
OPENCV_VIDEOWRITER_DEBUG | 布尔值 | false | 为 VideoWriter 启用调试消息 |
⭐ OPENCV_VIDEOIO_DEBUG | 布尔值 | false | VideoCapture 和 VideoWriter 的调试消息 |
videoio 测试
名称 | 类型 | 默认值 | 说明 |
OPENCV_TEST_VIDEOIO_BACKEND_REQUIRE_FFMPEG | | | 如果没有 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 | 非空 | | 切换 waitKey 返回结果(默认行为:返回代码 & 0xff (或 -1),旧行为:返回代码 ) |
$XDG_RUNTIME_DIR | | | Wayland 后端特定 - 创建共享内存映射文件以进行进程间通信(命名为 opencv-shared-?????? ) |
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 后端 |