返回:OpenCV系列文章目录(持续更新中......)
上一篇: OpenCV4.9.0配置选项参考(3)
下一篇:OpenCV4.9.0开源计算机视觉库在 Linux 中安装(5)
引言:
OpenCV是一个广泛使用的图像和视频处理开源库,拥有丰富的图像算法和函数库,支持多种编程语言。为了更好的适应不同的开发环境和应用场景,OpenCV提供了多个环境变量以及其他一些配置和选项,用于优化和控制OpenCV的运行行为,从而满足不同用户的需求。
OpenCV简介可以到下面文章查看:OpenCV(一个C++人工智能领域重要开源基础库)
介绍:
OpenCV可以根据运行时环境更改其行为:
启用额外的调试输出或性能跟踪
修改默认位置和搜索路径
调整某些算法或一般行为
启用或禁用解决方法、安全功能和优化
创作不易,要是对您有用请加个关注或点个赞,非常感谢了!前面500粉丝我会互关。
说明:
⭐标记最常用的变量
名称如下VAR_${NAME}的变量描述了变量系列,其中${NAME}应更改为预定义值之一,例如VAR_TBB,VAR_OPENMP
在Windows中设置环境变量
在终端或cmd-file(bat-file)中:
set MY_ENV_VARIABLE=true
C:\my_app.exe
在界面中:
- 转到“设置->系统->关于”->单击右侧的“高级系统设置”->在新窗口中,单击“环境变量”按钮->
- 将条目添加到“用户变量”列表中
在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 # variables set after this may not have effect
类型
non-null-设置为任何内容以启用功能,在某些情况下可以解释为其他类型(例如路径)
bool - 1, True, true, TRUE / 0, False, false, FALSE
number/_size_ - unsigned number, suffixes MB, Mb, mb, KB, Kb, kb
string - plain string or can have a structure
path - to file, to directory
paths - ;-separated on Windows, :-separated on others
CPU功能选项表:
名称 | 类型 | 默认 | 描述 |
---|---|---|---|
OPENCV_SKIP_CPU_BASELINE_CHECK | non-null | 不检查当前CPU是否支持构建(基础线程)使用的所有功能 | |
OPENCV_CPU_DISABLE | , or ; -separated | 禁用使用CPU功能的代码分支(调度代码) | |
OPENCV_SETUP_TERMINATE_HANDLER | bool | true (Windows) | 使用std::set_terminate安装自己的终止处理程序 |
OPENCV_LIBVA_RUNTIME | file path | 用于VA 互操作性实用程序 | |
OPENCV_ENABLE_MEMALIGN | bool | true (except static analysis, memory sanitizer, fuzzying, _WIN32?) | 启用对齐的内存分配 |
OPENCV_BUFFER_AREA_ALWAYS_SAFE | bool | false | 为多缓冲区分配启用安全模式(每个缓冲区单独) |
OPENCV_KMEANS_PARALLEL_GRANULARITY | num | 1000 | 调谐算法并行工作分布参数_(..., ..., ..., granularity) |
OPENCV_DUMP_ERRORS | bool | true (Debug or Android), false (others) | 打印有关异常的额外信息(在Android日志) |
OPENCV_DUMP_CONFIG | non-null | 将构建配置DUMP到 stderr(getBuildInformation ) | |
OPENCV_PYTHON_DEBUG | bool | false | 在Python绑定中启用额外警告 |
OPENCV_TEMP_PATH | non-null / path | /tmp/ (Linux), /data/local/tmp/ (Android), GetTempPathA (Windows) | 临时文件目录 |
OPENCV_DATA_PATH_HINT | paths | 找到的路径 | |
OPENCV_DATA_PATH | paths | 找到的路径 | |
OPENCV_SAMPLES_DATA_PATH_HINT | paths | 找到的路径 | |
OPENCV_SAMPLES_DATA_PATH | paths | 找到的路径 |
参考链接:
CPU optimizations build options · opencv/opencv Wiki · GitHub
日志:
名称 | 类型 | 默认 | 描述 |
⭐OPENCV_LOG_LEVEL | 字符串 | 日志记录级别(请参阅下面的接受值) | |
OPENCV_LOG_TIMESTAMP | 布尔值 | 真 | 使用时间戳进行日志记录 |
OPENCV_LOG_TIMESTAMP_NS | 布尔值 | 假 | 将NSEC添加到记录时间戳 |
参数表:
0, O, OFF, S, SILENT, DISABLE, DISABLED
F, FATAL
E, ERROR
W, WARNING, WARN, WARNINGS
I, INFO
D, DEBUG
V, VERBOSE
线程设置
名称 | 类型 | 默认 | 描述 |
⭐OPENCV_FOR_THREADS_NUM | 数量 | 0 | 设置线程数 |
OPENCV_THREAD_POOL_ACTIVE_WAIT_PAUSE_LIMIT | 数量 | 16 | 调优pthreadsparallel_for后端 |
OPENCV_THREAD_POOL_ACTIVE_WAIT_WORKER | 数量 | 2000 | 调优pthreadsparallel_for后端 |
OPENCV_THREAD_POOL_ACTIVE_WAIT_MAIN | 数量 | 10000 | 调优pthreadsparallel_for后端 |
OPENCV_THREAD_POOL_ACTIVE_WAIT_THREADS_LIMIT | 数量 | 0 | 调优pthreadsparallel_for后端 |
OPENCV_FOR_OPENMP_DYNAMIC_DISABLE | 布尔值 | 假 | 使用单个OpenMP线程 |
后端模块控制码:
OPENCV_LEGACY_WAITKEY某些模块具有多个可用的后端,以下变量允许选择特定的后端或更改将探测后端的默认优先级(例如,打开视频文件时)。
名称 | 类型 | 默认 | 描述 |
OPENCV_PARALLEL_BACKEND | 字符串 | 设置OpenCV函数在多线程执行时使用的后端实现(有:TBB、ONETBB、OPENMP) | |
OPENCV_PARALLEL_PRIORITY_${NAME} | 数量 | 设置在并行执行阶段使用的线程优先级,默认为1000 | |
OPENCV_PARALLEL_PRIORITY_LIST | 字符串,分隔, | 按优先级顺序排列的后端列表 | |
OPENCV_UI_BACKEND | 字符串 | 设置OpenCV函数在多线程执行时使用的后端实现(GTK、GTK3、GTK2、QT、WIN32) | |
OPENCV_UI_PRIORITY_${NAME} | 数量 | 设置OpenCV GUI界面操作的线程优先级。其中,${NAME}代表特定界面操作的名称默认为1000 | |
OPENCV_UI_PRIORITY_LIST | 字符串,分隔, | 设置OpenCV GUI界面操作的线程优先级列表(按优先级排序) | |
OPENCV_VIDEOIO_PRIORITY_${NAME} | 数量 | 设置OpenCV视频设备采集线程的优先级。其中,${NAME}代表特定视频设备的名称默认为1000 | |
OPENCV_VIDEOIO_PRIORITY_LIST | 字符串,分隔, | 设置视频设备采集优先级列表的参数列表 |
插件控制码:
一些外部依赖可以分离到一个动态库中,该库将在运行时加载(插件)。以下变量允许更改这些插件的默认搜索位置和命名模式。
名称 | 类型 | 默认 | 描述 |
OPENCV_CORE_PLUGIN_PATH | 路径 | 用于搜索核心插件的目录 | |
OPENCV_CORE_PARALLEL_PLUGIN_${NAME} | 字符串、球形 | 指定OpenCV的并行执行插件的名称例如TBB的默认值为“opencv_core_parallel_tbb*.so” | |
OPENCV_DNN_PLUGIN_PATH | 路径 | 指定OpenCV深度学习模型推断时调用的插件路径 | |
OPENCV_DNN_PLUGIN_${NAME} | 字符串、球形 | 指定OpenCV深度学习模型推断过程中使用的加速插件的名称,例如TBB的默认值为“opencv_core_parallel_tbb*.so” | |
OPENCV_CORE_PLUGIN_PATH | 路径 | 指定OpenCV使用的插件路径 | |
OPENCV_UI_PLUGIN_${NAME} | 字符串、球形 | 指定OpenCV GUI界面相关操作时使用的插件名称(Glob) | |
OPENCV_VIDEOIO_PLUGIN_PATH | 路径 | 指定OpenCV使用的视频I/O插件路径。视频I/O插件主要用于支持使用不同的第三方库或硬件加速视频的输入和输出。 | |
OPENCV_VIDEOIO_PLUGIN_${NAME} | 字符串、球形 | 指定OpenCV的视频I/O操作使用的插件。其中,${NAME}代表特定的插件名称,例如OPENCV_VIDEOIO_PLUGIN_FFMPEG表示使用FFmpeg插件作为视频I/O的实现。 |
OpenCL
注意:OpenCL驱动格式为,例如<Platform>:<CPU|GPU|ACCELERATOR|nothing=GPU/CPU>:<deviceName>AMD:GPU:
名称 | 类型 | 默认值 | 描述 |
---|---|---|---|
OPENCV_OPENCL_RUNTIME | filepath or disabled | 指定OpenCV使用的OpenCL运行时实现 库 (例如: | |
⭐ OPENCV_OPENCL_DEVICE | string or disabled | 指定OpenCV使用的OpenCL设备 | |
OPENCV_OPENCL_RAISE_ERROR | bool | false | 控制OpenCV在执行OpenCL操作时是否抛出错误(Release 编译时候选项 only) |
OPENCV_OPENCL_ABORT_ON_BUILD_ERROR | bool | false | 控制OpenCV在编译OpenCL代码时是否终止执行 |
OPENCV_OPENCL_CACHE_ENABLE | bool | true | 是否利用缓存 |
OPENCV_OPENCL_CACHE_WRITE | bool | true | 参数如果设置为1,则表示OpenCV在执行OpenCL内核时将结果缓存到内存中;如果设置为0,则表示OpenCV在执行OpenCL内核时立即将结果写入显存中 |
OPENCV_OPENCL_CACHE_LOCK_ENABLE | bool | true | 控制OpenCV在执行OpenCL内核时是否启用结果缓存锁定机制 |
OPENCV_OPENCL_CACHE_CLEANUP | bool | true | 控制OpenCV在结束OpenCL操作时是否清理OpenCL缓存 |
OPENCV_OPENCL_VALIDATE_BINARY_ PROGRAMS | bool | false | 控制OpenCV在使用OpenCL二进制程序时是否进行验证 |
OPENCV_OPENCL_DISABLE_BUFFER_ RECT_OPERATIONS | bool | true (Apple), false (others) | 控制OpenCV在使用OpenCL时是否禁用缓冲区矩形操作 |
OPENCV_OPENCL_BUILD_EXTRA_OPTIONS | string | 控制OpenCV在使用OpenCL时是否禁用缓冲区矩形操作 | |
OPENCV_OPENCL_ENABLE_MEM_USE_ HOST_PTR | bool | true | 控制OpenCV在使用OpenCL时是否启用主机指针内存使用 |
OPENCV_OPENCL_ALIGNMENT_MEM_ USE_HOST_PTR | num | 4 | 控制OpenCV在使用OpenCL时主机指针的对齐方式 |
OPENCV_OPENCL_DEVICE_MAX_WORK_ GROUP_SIZE | num | 0 | 控制OpenCV在使用OpenCL时设备工作组的大小 |
OPENCV_OPENCL_PROGRAM_CACHE | num | 0 | 控制OpenCV在使用OpenCL内核时是否启用内核程序缓存功能 |
OPENCV_OPENCL_RAISE_ERROR_ REUSE_ASYNC_KERNEL | bool | false | 控制OpenCV在重用异步内核时是否抛出错误 |
OPENCV_OPENCL_BUFFERPOOL_LIMIT | num | 1 << 27 (Intel device), 0 (others) | 控制OpenCV在使用OpenCL时缓冲区池的最大数量 |
OPENCV_OPENCL_HOST_PTR_ BUFFERPOOL_LIMIT | num | 控制OpenCV在使用OpenCL时主机指针缓冲区池的最大数量 | |
OPENCV_OPENCL_BUFFER_FORCE_MAPPING | bool | false | 控制OpenCV在使用OpenCL时是否强制将内存映射到主机内存中 |
OPENCV_OPENCL_BUFFER_FORCE_COPYING | bool | false | 控制OpenCV在使用OpenCL时是否强制进行内存复制 |
OPENCV_OPENCL_FORCE | bool | false | 控制OpenCV是否强制使用OpenCL作为加速设备t (e.g. dst.isUMat) |
OPENCV_OPENCL_PERF_CHECK_BYPASS | bool | false | 控制OpenCV在使用OpenCL时是否禁用性能检测 |
SVM(共享虚拟内存)-默认禁用
名称 | 类型 | 默认 | 描述 |
OPENCV_OPENCL_SVM_DISABLE | 布尔值 | 假 | 禁用SVM |
OPENCV_OPENCL_SVM_FORCE_UMAT_USAGE | 布尔值 | 假 | |
OPENCV_OPENCL_SVM_DISABLE_UMAT_USAGE | 布尔值 | 假 | |
OPENCV_OPENCL_SVM_CAPABILITIES_MASK | 数量 | ||
OPENCV_OPENCL_SVM_BUFFERPOOL_LIMIT | 数量 | 与OPENCV_OPENCL_BUFFERPOOL_LIMIT相同,但用于SVM缓冲区 |
链接:
OpenCL optimizations · opencv/opencv Wiki · GitHub
跟踪/分析
名称 | 类型 | 默认 | 描述 |
⭐OPENCV_TRACE | 布尔值 | 假 | 启用跟踪 |
OPENCV_TRACE_LOCATION | 字符串 | OpenCVTrace | 控制OpenCV是否在日志输出中包含代码行号和文件名信息 |
OPENCV_TRACE_DEPTH_OPENCV | 数量 | 1 | |
OPENCV_TRACE_MAX_CHILDREN_OPENCV | 数量 | 1000 | |
OPENCV_TRACE_MAX_CHILDREN | 数量 | 1000 | |
OPENCV_TRACE_SYNC_OPENCL | 布尔值 | 假 | 控制OpenCV是否在调试时输出OpenCL同步操作的时间信息 |
OPENCV_TRACE_ITT_ENABLE | 布尔值 | 真 | |
OPENCV_TRACE_ITT_PARENT | 布尔值 | 假 | 制OpenCV是否使用Intel Trace Technologies (ITT)接口创建父子任务之间的关系 |
OPENCV_TRACE_ITT_SET_THREAD_NAME | 布尔值 | 假 | 控制OpenCV是否使用Intel Trace Technologies (ITT)接口设置线程名称"OpenCVThread-%03d" |
链接:
Profiling OpenCV Applications · opencv/opencv Wiki · GitHub
缓存
注意:默认tmp位置为(Windows);,,,(其他)TMPDIR%$XDG_CACHE_HOME$HOME/.cache/var/tmp/tmp
名称 | 类型 | 默认 | 描述 |
OPENCV_CACHE_SHOW_CLEANUP_MESSAGE | 布尔值 | 真 | 显示缓存清理消息 |
OPENCV_DOWNLOAD_CACHE_DIR | 路径 | 默认TMP位置 | 下载文件的缓存目录(子目录downloads) |
OPENCV_DNN_IE_GPU_CACHE_DIR | 路径 | 默认TMP位置 | OpenVINOOpenCL内核的缓存目录(子目录dnn_ie_cache_${device}) |
OPENCV_OPENCL_CACHE_DIR | 路径 | 默认TMP位置 | OpenCL内核缓存的缓存目录(子目录opencl_cache) |
轻量级、快速和可移植的深度神经网络(DNN)推理框架
注意:在下表中,第一个参数是内部网络ID,第二个参数是转储级别。dump_base_nameocv_dnn_net_%05d_%02d
名称 | 类型 | 默认 | 描述 |
OPENCV_DNN_BACKEND_DEFAULT | 数量 | 3(开放CV) | 设置默认的DNN后端,请参阅dnn.hpp了解后端枚举 |
OPENCV_DNN_NETWORK_DUMP | 数量 | 0 | 信息转储级别,0-无转储(默认文件名${dump_base_name}.dot) |
OPENCV_DNN_DISABLE_MEMORY_OPTIMIZATIONS | 布尔值 | 假 | |
OPENCV_DNN_CHECK_NAN_INF | 布尔值 | 假 | 检查层输出中的NaN |
OPENCV_DNN_CHECK_NAN_INF_DUMP | 布尔值 | 假 | 当NaN检查失败时打印图层数据 |
OPENCV_DNN_CHECK_NAN_INF_RAISE_ERROR | 布尔值 | 假 | 当NaN检查失败时也会引发异常 |
OPENCV_DNN_ONNX_USE_LEGACY_NAMES | 布尔值 | 假 | 按原样使用ONNX节点名称,而不是“onnx_node!${node_name}” |
OPENCV_DNN_CUSTOM_ONNX_TYPE_INCLUDE_DOMAIN_NAME | 布尔值 | 真 | 将图层域前置到图层类型(“domain.type”) |
OPENCV_VULKAN_RUNTIME | 文件路径 | 设置DNNVulkan后端的Vulkan运行时库的位置 | |
OPENCV_DNN_IE_SERIALIZE | 布尔值 | 假 | dump中间OpenVINO图(默认文件名,${dump_base_name}_ngraph.xml${dump_base_name}_ngraph.bin) |
OPENCV_DNN_IE_EXTRA_PLUGIN_PATH | 路径 | 额外OpenVINO插件的路径 | |
OPENCV_DNN_IE_VPU_TYPE | 字符串 | 强制使用特定的OpenVINOVPU设备类型(“Myriad2”或“MyriadX”) | |
OPENCV_TEST_DNN_IE_VPU_TYPE | 字符串 | 与OPENCV_DNN_IE_VPU_TYPE相同,但用于测试 | |
OPENCV_DNN_INFERENCE_ENGINE_HOLD_PLUGINS | 布尔值 | 真 | 始终保留一个现有的OpenVINO实例,以避免在卸载时崩溃 |
OPENCV_DNN_INFERENCE_ENGINE_CORE_LIFETIME_WORKAROUND | 布尔值 | true(Windows)、false(其他) | 另一个OpenVINO终身解决方法 |
OPENCV_DNN_OPENCL_ALLOW_ALL_DEVICES | 布尔值 | 假 | 允许在CPU设备上运行,允许在非英特尔设备上使用FP16 |
OPENCV_OCL4DNN_CONVOLUTION_IGNORE_INPUT_DIMS_4_CHECK | 布尔值 | 假 | OpenCL后端的解决方法,请参阅ocl4dnn convolution - division by zero · Issue #20833 · opencv/opencv · GitHub |
OPENCV_OCL4DNN_WORKAROUND_IDLF | 布尔值 | 真 | OpenCL后端的另一种解决方法 |
OPENCV_OCL4DNN_CONFIG_PATH | 路径 | 用于自动调整的内核配置缓存的路径(必须是现有目录),设置此变量以启用自动调整 | |
OPENCV_OCL4DNN_DISABLE_AUTO_TUNING | 布尔值 | 假 | 控制OpenCV是否禁用OCL4DNN内核的自动调优功能 |
OPENCV_OCL4DNN_FORCE_AUTO_TUNING | 布尔值 | 假 | 控制OpenCV是否强制OCL4DNN库进行自动调优功能 |
OPENCV_OCL4DNN_TEST_ALL_KERNELS | 数量 | 0 | 测试卷积核,迭代次数(自动调整) |
OPENCV_OCL4DNN_DUMP_FAILED_RESULT | 布尔值 | 假 | 转储有关错误的额外信息(自动调整) |
OPENCV_OCL4DNN_TUNING_RAISE_CHECK_ERROR | 布尔值 | 假 | 错误时引发异常(自动调整) |
测试选项码:
名称 | 类型 | 默认 | 描述 |
⭐OPENCV_TEST_DATA_PATH | dir路径 | 设置测试数据搜索位置(例如/home/user/opencv_extra/testdata) | |
⭐OPENCV_DNN_TEST_DATA_PATH | dir路径 | $OPENCV_TEST_DATA_PATH/dnn | 设置测试的DNN模型搜索位置(由dnn、gapi、objdetect、video模块使用) |
OPENCV_OPEN_MODEL_ZOO_DATA_PATH | dir路径 | $OPENCV_DNN_TEST_DATA_PATH/omz_intel_models | 设置OpenVINO模型搜索位置以进行测试(由dnn、gapi模块使用) |
INTEL_CVSDK_DIR | 一些dnn测试也可以在这里搜索OpenVINO模型 | ||
OPENCV_TEST_DEBUG | 数量 | 0 | 测试的调试级别,与(0-无调试(默认),1-基本测试调试信息,>1-额外的调试信息)--test_debug |
OPENCV_TEST_REQUIRE_DATA | 布尔值 | 假 | 与选项相同(缺少非必需的测试数据时失败而不是跳过)--test_require_data |
OPENCV_TEST_CHECK_OPTIONAL_DATA | 布尔值 | 假 | 当找不到可选数据时断言 |
OPENCV_IPP_CHECK | 布尔值 | 假 | 和的默认值--test_ipp_check--perf_ipp_check |
OPENCV_PERF_VALIDATION_DIR | dirpath | 指定OpenCV的性能测试数据集目录 | |
⭐OPENCV_PYTEST_FILTER | string(glob) | 控制OpenCV在运行pytest测试时筛选测试用例 |
链接:
QA_in_OpenCV · opencv/opencv Wiki · GitHub
视频IO选项码
注意:额外的FFmpeg选项应以形式粘贴,例如或key;value|key;value|key;valuehwaccel;cuvid|video_codec;h264_cuvid|vsync;0vcodec;x264|vprofile;high|vlevel;4.0
名称 | 类型 | 默认 | 描述 |
⭐OPENCV_FFMPEG_CAPTURE_OPTIONS | 字符串(请参阅注释) | 控制OpenCV在使用FFmpeg库进行视频捕获时的选项设置 | |
⭐OPENCV_FFMPEG_WRITER_OPTIONS | 字符串(请参阅注释) | 控制OpenCV在使用FFmpeg库进行视频编码时的选项设置 | |
OPENCV_FFMPEG_THREADS | 数量 | 设置FFmpeg线程数 | |
OPENCV_FFMPEG_DEBUG | 非空 | 启用来自FFmpeg的日志记录消息 | |
OPENCV_FFMPEG_LOGLEVEL | 数量 | 设置FFmpeg日志记录级别 | |
OPENCV_FFMPEG_DLL_DIR | dir路径 | 带有FFmpeg插件的目录(旧版) | |
OPENCV_FFMPEG_IS_THREAD_SAFE | 布尔值 | 假 | 启用此选项将关闭FFmpeg后端中的线程安全锁(仅当您确定FFmpeg是使用线程支持构建的,并在Linux上测试时才使用) |
OPENCV_FFMPEG_READ_ATTEMPTS | 数量 | 4096 | 读取过程失败前的失败尝试次数av_read_frame |
OPENCV_FFMPEG_DECODE_ATTEMPTS | 数量 | 64 | 解码过程失败前的失败尝试次数avcodec_receive_frame |
OPENCV_VIDEOIO_GSTREAMER_CALL_DEINIT | 布尔值 | 假 | 关闭GStreamer实例 |
OPENCV_VIDEOIO_GSTREAMER_START_MAINLOOP | 布尔值 | 假 | 在单独的线程中启动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 | 布尔值 | 真 | 允许在MediaFoundation处理图中进行硬件加速转换(DXVA)(可能会减慢相机探测过程) |
OPENCV_DSHOW_DEBUG | 非空 | 在DShow后端启用详细日志记录 | |
OPENCV_DSHOW_SAVEGRAPH_FILENAME | 文件路径 | 在DShow后端启用处理图tump | |
OPENCV_VIDEOIO_V4L_RANGE_NORMALIZED | 布尔值 | 假 | 使用(0,1)属性范围(V4L) |
OPENCV_VIDEOIO_V4L_SELECT_TIMEOUT | 数量 | 10 | 选择呼叫超时(以秒为单位)(V4L) |
OPENCV_VIDEOCAPTURE_DEBUG | 布尔值 | 假 | 为VideoCapture启用调试消息 |
OPENCV_VIDEOWRITER_DEBUG | 布尔值 | 假 | 为VideoWriter启用调试消息 |
⭐OPENCV_VIDEOIO_DEBUG | 布尔值 | 假 | VideoCapture和VideoWriter的调试消息 |
视频检测选项码:
名称 | 类型 | 默认 | 描述 |
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测试) |
G-API(Graph API)提供一种快速、灵活、可扩展的图像和视频处理编程框架选项:
名称 | 类型 | 默认 | 描述 |
⭐GRAPH_DUMP_PATH | 文件路径 | 转储图(点格式) | |
PIPELINE_MODELS_PATH | dir路径 | pipeline_modeling_tool示例应用程序使用此var | |
OPENCV_GAPI_INFERENCE_ENGINE_CORE_LIFETIME_WORKAROUND | 布尔值 | true(Windows、Apple)、false(其他) | 与OPENCV_DNN_INFERENCE_ENGINE_CORE_LIFETIME_WORKAROUND相似 |
G-API(Graph API)测试用例
名称 | 类型 | 默认 | 描述 |
PLAIDML_DEVICE | 字符串 | 特定于PlaidML后端测试 | |
PLAIDML_TARGET | 字符串 | 特定于PlaidML后端测试 | |
OPENCV_GAPI_ONNX_MODEL_PATH | dir路径 | ONNX模型测试的搜索位置 | |
OPENCV_TEST_FREETYPE_FONT_PATH | 文件路径 | 其中一个测试的TrueType字体的位置 |
链接:
Using G API with OpenVINO Toolkit · opencv/opencv Wiki · GitHub
Using G API with MS ONNX Runtime · opencv/opencv Wiki · GitHub
高级
名称 | 类型 | 默认 | 描述 |
OPENCV_LEGACY_WAITKEY | 非空 | 控制 OpenCV 在使用 waitKey() 函数时的行为OPENCV_LEGACY_WAITKEY 参数有两种值:0 和 1。当值为 1 时,waitKey() 函数将始终等待用户的输入,直到一个键被按下或超时。但是,在值为 0 时,waitKey() 函数将立即返回 -1(默认值),不等待用户输入 | |
$XDG_RUNTIME_DIR | 指定了在 Linux 中为运行时文件分配的目录(如:名为opencv-shared-??????) |
OpenCV中的一个图像处理模块控制码:
名称 | 类型 | 默认 | 描述 |
OPENCV_OPENCL_IMGPROC_MORPH_SPECIAL_KERNEL | 布尔值 | true(苹果),false(其他) | 将特殊的OpenCL内核用于小型morph内核(Intel设备) |
OPENCV_GAUSSIANBLUR_CHECK_BITEXACT_KERNELS | 布尔值 | 假 | 运行前验证高斯核(src为CV_16U,位精确版本) |
图像输入/输出(I/O)模块,主要用于读取和写入图像文件或数据流控制码:
名称 | 类型 | 默认 | 描述 |
OPENCV_IMGCODECS_AVIF_MAX_FILE_SIZE | 数量 | 64兆字节 | 限制输入AVIF大小 |
OPENCV_IMGCODECS_WEBP_MAX_FILE_SIZE | 数量 | 64兆字节 | 限制输入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后端 |
参考文献: