OpenCV 4.12.0
开源计算机视觉
加载中...
搜索中...
无匹配项
OpenCV 环境变量参考

上一个教程: OpenCV 配置选项参考
下一个教程: 在 Linux 中安装

简介

OpenCV 可以根据运行时环境改变其行为

  • 启用额外的调试输出或性能追踪
  • 修改默认位置和搜索路径
  • 调整某些算法或通用行为
  • 启用或禁用变通方法、安全功能和优化

注意事项

  • ⭐ 标记最常用的变量
  • 名称类似于 VAR_${NAME} 的变量描述了一系列变量,其中 ${NAME} 应更改为预定义值之一,例如 VAR_TBBVAR_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 上以 ; 分隔,在其他系统上以 : 分隔

通用,核心

nametypedefaultdescription
OPENCV_SKIP_CPU_BASELINE_CHECKboolfalse不检查当前 CPU 是否支持构建使用的所有功能(基线)
OPENCV_CPU_DISABLE,; 分隔禁用使用 CPU 特性(分派代码)的代码分支
OPENCV_SETUP_TERMINATE_HANDLERbooltrue(Windows)使用 std::set_terminate 安装自己的终止处理程序
OPENCV_LIBVA_RUNTIME文件路径用于 VA 互操作性工具的 libva
OPENCV_ENABLE_MEMALIGNbooltrue(静态分析、内存消毒器、模糊测试、_WIN32 除外?)启用对齐内存分配
OPENCV_BUFFER_AREA_ALWAYS_SAFEboolfalse为多缓冲区分配启用安全模式(每个缓冲区单独处理)
OPENCV_KMEANS_PARALLEL_GRANULARITYnum1000 调整算法并行工作分布参数 parallel_for_(..., ..., ..., granularity)
OPENCV_DUMP_ERRORSbooltrue(调试或 Android),false(其他)异常时打印额外信息(记录到 Android)
OPENCV_DUMP_CONFIGboolfalse将构建配置打印到 stderr (getBuildInformation)
OPENCV_PYTHON_DEBUGboolfalse在 Python 绑定中启用额外警告
OPENCV_TEMP_PATH路径/tmp/ (Linux), /data/local/tmp/ (Android), GetTempPathA (Windows)临时文件目录
OPENCV_DATA_PATH_HINTpathsfindDataFile 的路径
OPENCV_DATA_PATHpathsfindDataFile 的路径
OPENCV_SAMPLES_DATA_PATH_HINTpathsfindDataFile 的路径
OPENCV_SAMPLES_DATA_PATHpathsfindDataFile 的路径

链接

日志记录

nametypedefaultdescription
⭐ OPENCV_LOG_LEVELstring日志级别(参见下面的可接受值)
OPENCV_LOG_TIMESTAMPbooltrue带时间戳的日志记录
OPENCV_LOG_TIMESTAMP_NSboolfalse为日志时间戳添加纳秒

级别

  • 0, O, OFF, S, SILENT, DISABLE, DISABLED
  • F, FATAL
  • E, ERROR
  • W, WARNING, WARN, WARNINGS
  • I, INFO
  • D, DEBUG
  • V, VERBOSE

core/parallel_for

nametypedefaultdescription
⭐ OPENCV_FOR_THREADS_NUMnum0 设置线程数
OPENCV_THREAD_POOL_ACTIVE_WAIT_PAUSE_LIMITnum16 调整 pthreads parallel_for 后端
OPENCV_THREAD_POOL_ACTIVE_WAIT_WORKERnum2000 调整 pthreads parallel_for 后端
OPENCV_THREAD_POOL_ACTIVE_WAIT_MAINnum10000 调整 pthreads parallel_for 后端
OPENCV_THREAD_POOL_ACTIVE_WAIT_THREADS_LIMITnum0 调整 pthreads parallel_for 后端
OPENCV_FOR_OPENMP_DYNAMIC_DISABLEboolfalse使用单个 OpenMP 线程

后端

OPENCV_LEGACY_WAITKEY 某些模块有多个可用后端,以下变量允许选择特定后端或更改探测后端时的默认优先级(例如,打开视频文件时)。

nametypedefaultdescription
OPENCV_PARALLEL_BACKENDstring选择特定的 parallel_for 后端(TBB, ONETBB, OPENMP 之一)
OPENCV_PARALLEL_PRIORITY_${NAME}num设置后端优先级,默认为 1000
OPENCV_PARALLEL_PRIORITY_LIST字符串,以 , 分隔按优先级顺序排列的后端列表
OPENCV_UI_BACKENDstring选择用于窗口渲染的 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 后端列表

插件

一些外部依赖项可以分离为动态库,在运行时加载(插件)。以下变量允许更改这些插件的默认搜索位置和命名模式。

nametypedefaultdescription
OPENCV_CORE_PLUGIN_PATHpaths搜索核心插件的目录
OPENCV_CORE_PARALLEL_PLUGIN_${NAME}字符串,globparallel_for 插件库名称(glob),例如 TBB 的默认值为 "opencv_core_parallel_tbb*.so"
OPENCV_DNN_PLUGIN_PATHpaths搜索 dnn 插件的目录
OPENCV_DNN_PLUGIN_${NAME}字符串,globparallel_for 插件库名称(glob),例如 TBB 的默认值为 "opencv_core_parallel_tbb*.so"
OPENCV_CORE_PLUGIN_PATHpaths搜索 highgui 插件的目录(是的,它是 CORE)
OPENCV_UI_PLUGIN_${NAME}字符串,globhighgui 插件库名称(glob)
OPENCV_VIDEOIO_PLUGIN_PATHpaths搜索 videoio 插件的目录
OPENCV_VIDEOIO_PLUGIN_${NAME}字符串,globvideoio 插件库名称(glob)

OpenCL

注意: OpenCL 设备规范格式为 <Platform>:<CPU|GPU|ACCELERATOR|nothing=GPU/CPU>:<deviceName>,例如 AMD:GPU:

nametypedefaultdescription
OPENCV_OPENCL_RUNTIME文件路径或 disabledOpenCL 运行时库的路径(例如 OpenCL.dll, libOpenCL.so
⭐ OPENCV_OPENCL_DEVICE字符串或 disabled选择特定的 OpenCL 设备。参见上方注释中的规范格式。更多详情请参见链接部分。
OPENCV_OPENCL_RAISE_ERRORboolfalse如果在 OpenCL 内核准备和执行期间发生故障,则抛出异常(仅限 Release 版本)
OPENCV_OPENCL_ABORT_ON_BUILD_ERRORboolfalse如果 OpenCL 内核编译失败则中止
OPENCV_OPENCL_CACHE_ENABLEbooltrue启用 OpenCL 内核缓存
OPENCV_OPENCL_CACHE_WRITEbooltrue允许写入缓存,否则缓存将是只读的
OPENCV_OPENCL_CACHE_LOCK_ENABLEbooltrue使用 .lock 文件同步使用相同 OpenCL 缓存的多个应用程序(可能不适用于网络驱动器)
OPENCV_OPENCL_CACHE_CLEANUPbooltrue自动从缓存中删除旧条目(旧 OpenCL 运行时的残留)
OPENCV_OPENCL_VALIDATE_BINARY_PROGRAMSboolfalse验证加载的二进制 OpenCL 内核
OPENCV_OPENCL_DISABLE_BUFFER_RECT_OPERATIONSbooltrue(Apple),false(其他)启用非连续数据下载的变通方法
OPENCV_OPENCL_BUILD_EXTRA_OPTIONSstring将额外选项传递给 OpenCL 内核编译
OPENCV_OPENCL_ENABLE_MEM_USE_HOST_PTRbooltrue缓冲区分配的变通方法/优化
OPENCV_OPENCL_ALIGNMENT_MEM_USE_HOST_PTRnum4 OPENCV_OPENCL_ENABLE_MEM_USE_HOST_PTR 的参数
OPENCV_OPENCL_DEVICE_MAX_WORK_GROUP_SIZEnum0 允许减小 maxWorkGroupSize
OPENCV_OPENCL_PROGRAM_CACHEnum0 限制 OpenCL 内核缓存中的程序数量
OPENCV_OPENCL_RAISE_ERROR_REUSE_ASYNC_KERNELboolfalse如果异步内核失败则抛出异常
OPENCV_OPENCL_BUFFERPOOL_LIMITnum1 << 27 (Intel 设备), 0 (其他)限制缓冲区池使用的内存
OPENCV_OPENCL_HOST_PTR_BUFFERPOOL_LIMITnum与 OPENCV_OPENCL_BUFFERPOOL_LIMIT 相同,但用于 HOST_PTR 缓冲区
OPENCV_OPENCL_BUFFER_FORCE_MAPPINGboolfalse强制 clEnqueueMapBuffer
OPENCV_OPENCL_BUFFER_FORCE_COPYINGboolfalse强制 clEnqueueReadBuffer/clEnqueueWriteBuffer
OPENCV_OPENCL_FORCEboolfalse即使不满足通常条件(例如 dst.isUMat),也强制运行 OpenCL 内核
OPENCV_OPENCL_PERF_CHECK_BYPASSboolfalse即使不满足通常与性能相关的条件(例如图像非常小),也强制运行 OpenCL 内核

SVM(共享虚拟内存)—— 默认禁用

nametypedefaultdescription
OPENCV_OPENCL_SVM_DISABLEboolfalse禁用 SVM
OPENCV_OPENCL_SVM_FORCE_UMAT_USAGEboolfalse
OPENCV_OPENCL_SVM_DISABLE_UMAT_USAGEboolfalse
OPENCV_OPENCL_SVM_CAPABILITIES_MASKnum
OPENCV_OPENCL_SVM_BUFFERPOOL_LIMITnum与 OPENCV_OPENCL_BUFFERPOOL_LIMIT 相同,但用于 SVM 缓冲区

链接

追踪/性能分析

nametypedefaultdescription
⭐ OPENCV_TRACEboolfalse启用追踪
OPENCV_TRACE_LOCATIONstringOpenCVTrace 追踪文件名 ("${name}-$03d.txt")
OPENCV_TRACE_DEPTH_OPENCVnum1
OPENCV_TRACE_MAX_CHILDREN_OPENCVnum1000
OPENCV_TRACE_MAX_CHILDRENnum1000
OPENCV_TRACE_SYNC_OPENCLboolfalse等待 OpenCL 内核完成
OPENCV_TRACE_ITT_ENABLEbooltrue
OPENCV_TRACE_ITT_PARENTboolfalse设置 ITT 任务的 parentID
OPENCV_TRACE_ITT_SET_THREAD_NAMEboolfalse为 OpenCV 线程设置名称 "OpenCVThread-%03d"

链接

缓存

注意: 默认临时位置是 TMPDIR% (Windows);$XDG_CACHE_HOME, $HOME/.cache, /var/tmp, /tmp (其他系统)

nametypedefaultdescription
OPENCV_CACHE_SHOW_CLEANUP_MESSAGEbooltrue显示缓存清理消息
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,第二个是转储级别。

nametypedefaultdescription
OPENCV_DNN_BACKEND_DEFAULTnum3 (OpenCV)设置默认 DNN 后端,后端枚举请参见 dnn.hpp
OPENCV_DNN_NETWORK_DUMPnum0 信息转储级别,0 - 无转储(默认文件名 ${dump_base_name}.dot
OPENCV_DNN_DISABLE_MEMORY_OPTIMIZATIONSboolfalse
OPENCV_DNN_CHECK_NAN_INFboolfalse检查层输出中的 NaNs
OPENCV_DNN_CHECK_NAN_INF_DUMPboolfalse当 NaN 检查失败时打印层数据
OPENCV_DNN_CHECK_NAN_INF_RAISE_ERRORboolfalse当 NaN 检查失败时也抛出异常
OPENCV_DNN_ONNX_USE_LEGACY_NAMESboolfalse直接使用 ONNX 节点名称,而不是 "onnx_node!${node_name}"
OPENCV_DNN_CUSTOM_ONNX_TYPE_INCLUDE_DOMAIN_NAMEbooltrue将层域前置到层类型("domain.type")
OPENCV_VULKAN_RUNTIME文件路径为 DNN Vulkan 后端设置 Vulkan 运行时库的位置
OPENCV_DNN_IE_SERIALIZEboolfalse转储中间 OpenVINO 图(默认文件名 ${dump_base_name}_ngraph.xml, ${dump_base_name}_ngraph.bin
OPENCV_DNN_IE_EXTRA_PLUGIN_PATH路径额外 OpenVINO 插件的路径
OPENCV_DNN_IE_VPU_TYPEstring强制使用特定的 OpenVINO VPU 设备类型("Myriad2" 或 "MyriadX")
OPENCV_TEST_DNN_IE_VPU_TYPEstring与 OPENCV_DNN_IE_VPU_TYPE 相同,但用于测试
OPENCV_DNN_INFERENCE_ENGINE_HOLD_PLUGINSbooltrue始终保留一个现有的 OpenVINO 实例,以避免在卸载时崩溃
OPENCV_DNN_INFERENCE_ENGINE_CORE_LIFETIME_WORKAROUNDbooltrue(Windows),false(其他)另一个 OpenVINO 生命周期变通方法
OPENCV_DNN_OPENCL_ALLOW_ALL_DEVICESboolfalse允许在 CPU 设备上运行,允许在非 Intel 设备上使用 FP16
OPENCV_OCL4DNN_CONVOLUTION_IGNORE_INPUT_DIMS_4_CHECKboolfalseOpenCL 后端的变通方法,参见 https://github.com/opencv/opencv/issues/20833
OPENCV_OCL4DNN_WORKAROUND_IDLFbooltrueOpenCL 后端的另一个变通方法
OPENCV_OCL4DNN_CONFIG_PATH路径用于自动调整的内核配置缓存路径(必须是现有目录),设置此变量以启用自动调整
OPENCV_OCL4DNN_DISABLE_AUTO_TUNINGboolfalse禁用自动调整
OPENCV_OCL4DNN_FORCE_AUTO_TUNINGboolfalse强制自动调整
OPENCV_OCL4DNN_TEST_ALL_KERNELSnum0 测试卷积内核,迭代次数(自动调整)
OPENCV_OCL4DNN_DUMP_FAILED_RESULTboolfalse错误时转储额外信息(自动调整)
OPENCV_OCL4DNN_TUNING_RAISE_CHECK_ERRORboolfalse错误时抛出异常(自动调整)

测试

nametypedefaultdescription
⭐ OPENCV_TEST_DATA_PATH目录路径设置测试数据搜索位置(例如 /home/user/opencv_extra/testdata
⭐ OPENCV_DNN_TEST_DATA_PATH目录路径$OPENCV_TEST_DATA_PATH/dnn 设置用于测试的 DNN 模型搜索位置(由 dnngapiobjdetectvideo 模块使用)
OPENCV_OPEN_MODEL_ZOO_DATA_PATH目录路径$OPENCV_DNN_TEST_DATA_PATH/omz_intel_models 设置用于测试的 OpenVINO 模型搜索位置(由 dnngapi 模块使用)
INTEL_CVSDK_DIR一些 dnn 测试也可以在此处搜索 OpenVINO 模型
OPENCV_TEST_DEBUGnum0 测试的调试级别,与 --test_debug 相同(0 - 无调试(默认),1 - 基本测试调试信息,>1 - 额外调试信息)
OPENCV_TEST_REQUIRE_DATAboolfalse--test_require_data 选项相同(缺少非必要测试数据时失败而不是跳过)
OPENCV_TEST_CHECK_OPTIONAL_DATAboolfalse未找到可选数据时断言
OPENCV_IPP_CHECKboolfalse--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;0vcodec;x264|vprofile;high|vlevel;4.0

nametypedefaultdescription
⭐ OPENCV_FFMPEG_CAPTURE_OPTIONS字符串(参见注释)VideoCapture FFmpeg 后端的额外选项
⭐ OPENCV_FFMPEG_WRITER_OPTIONS字符串(参见注释)VideoWriter FFmpeg 后端的额外选项
OPENCV_FFMPEG_THREADSnum设置 FFmpeg 线程数
OPENCV_FFMPEG_DEBUGboolfalse启用 FFmpeg 的日志消息
OPENCV_FFMPEG_LOGLEVELnum设置 FFmpeg 日志级别
OPENCV_FFMPEG_DLL_DIR目录路径包含 FFmpeg 插件的目录(旧版)
OPENCV_FFMPEG_IS_THREAD_SAFEboolfalse启用此选项将关闭 FFmpeg 后端中的线程安全锁(仅当您确定 FFmpeg 支持线程时使用,已在 Linux 上测试)
OPENCV_FFMPEG_READ_ATTEMPTSnum4096 读取过程失败前 av_read_frame 失败的尝试次数
OPENCV_FFMPEG_DECODE_ATTEMPTSnum64 解码过程失败前 avcodec_receive_frame 失败的尝试次数
OPENCV_VIDEOIO_GSTREAMER_CALL_DEINITboolfalse结束时关闭 GStreamer 实例
OPENCV_VIDEOIO_GSTREAMER_START_MAINLOOPboolfalse在单独的线程中启动 GStreamer 循环
OPENCV_VIDEOIO_MFX_IMPLnum设置特定的 MFX 实现(枚举请参见 MFX 文档)
OPENCV_VIDEOIO_MFX_EXTRA_SURFACE_NUMnum1 向表面池添加额外表面
OPENCV_VIDEOIO_MFX_POOL_TIMEOUTnum1 等待池中可用表面的超时时间(秒)
OPENCV_VIDEOIO_MFX_BITRATE_DIVISORnum300 此选项允许调整编码比特率(视频质量/大小)
OPENCV_VIDEOIO_MFX_WRITER_TIMEOUTnum1 编码操作的超时时间(秒)
OPENCV_VIDEOIO_MSMF_ENABLE_HW_TRANSFORMSbooltrue在 MediaFoundation 处理图中允许硬件加速转换 (DXVA)(可能会减慢相机探测过程)
OPENCV_DSHOW_DEBUGboolfalse在 DShow 后端启用详细日志记录
OPENCV_DSHOW_SAVEGRAPH_FILENAME文件路径在 DShow 后端启用处理图转储
OPENCV_VIDEOIO_V4L_RANGE_NORMALIZEDboolfalse对属性使用 (0, 1) 范围(V4L)
OPENCV_VIDEOIO_V4L_SELECT_TIMEOUTnum10 select 调用超时(秒)(V4L)
OPENCV_VIDEOCAPTURE_DEBUGboolfalse为 VideoCapture 启用调试消息
OPENCV_VIDEOWRITER_DEBUGboolfalse为 VideoWriter 启用调试消息
⭐ OPENCV_VIDEOIO_DEBUGboolfalseVideoCapture 和 VideoWriter 的调试消息

videoio 测试

nametypedefaultdescription
OPENCV_TEST_VIDEOIO_BACKEND_REQUIRE_FFMPEGboolfalse如果 FFmpeg 后端不可用,测试应用将退出
OPENCV_TEST_V4L2_VIVID_DEVICE文件路径V4L2 测试的 VIVID 虚拟摄像机设备路径(例如 /dev/video5
OPENCV_TEST_PERF_CAMERA_LISTpaths性能测试中使用的摄像机(waitAny_V4L 测试)
OPENCV_TEST_CAMERA_d_FPSnum为第 N 个摄像机(基于 0 的索引)设置的帧率(waitAny_V4L 测试)

gapi

nametypedefaultdescription
⭐ GRAPH_DUMP_PATH文件路径转储图(dot 格式)
PIPELINE_MODELS_PATH目录路径pipeline_modeling_tool 示例应用程序使用此变量
OPENCV_GAPI_INFERENCE_ENGINE_CORE_LIFETIME_WORKAROUNDbooltrue(Windows, Apple),false(其他)类似于 OPENCV_DNN_INFERENCE_ENGINE_CORE_LIFETIME_WORKAROUND

gapi 测试/示例

nametypedefaultdescription
PLAIDML_DEVICEstringPlaidML 后端测试专用
PLAIDML_TARGETstringPlaidML 后端测试专用
OPENCV_GAPI_ONNX_MODEL_PATH目录路径ONNX 模型测试的搜索位置
OPENCV_TEST_FREETYPE_FONT_PATH文件路径某个测试的 TrueType 字体位置

链接

highgui

nametypedefaultdescription
OPENCV_LEGACY_WAITKEYboolfalse切换 waitKey 返回结果(默认行为:return code & 0xff(或 -1),旧版行为:return code
$XDG_RUNTIME_DIRWayland 后端专用 - 创建用于进程间通信的共享内存映射文件(命名为 opencv-shared-??????
OPENCV_HIGHGUI_FB_MODEstringFB 选择帧缓冲后端(FB - 常规帧缓冲,EMU - 仿真,执行内部检查但不执行任何操作,XVFB - 与 xvfb 虚拟帧缓冲兼容)的输出模式
OPENCV_HIGHGUI_FB_DEVICE文件路径要使用的帧缓冲设备路径(将首先检查)
FRAMEBUFFER文件路径/dev/fb0 与 OPENCV_HIGHGUI_FB_DEVICE 相同,常用于相同目的的变量(将其次检查)

imgproc

nametypedefaultdescription
OPENCV_OPENCL_IMGPROC_MORPH_SPECIAL_KERNELbooltrue(Apple),false(其他)为小型形态核使用特殊 OpenCL 内核(Intel 设备)
OPENCV_GAUSSIANBLUR_CHECK_BITEXACT_KERNELSboolfalse运行前验证高斯内核(src 为 CV_16U,位精确版本)

imgcodecs

nametypedefaultdescription
OPENCV_IMGCODECS_AVIF_MAX_FILE_SIZEnum64MB限制输入 AVIF 大小
OPENCV_IMGCODECS_WEBP_MAX_FILE_SIZEnum64MB限制输入 WEBM 大小
OPENCV_IO_MAX_IMAGE_PARAMSnum50 限制 imwrite 和 imencode 中允许的最大参数数量
OPENCV_IO_MAX_IMAGE_WIDTHnum1 << 20,限制输入图像大小以避免大量内存分配
OPENCV_IO_MAX_IMAGE_HEIGHTnum1 << 20
OPENCV_IO_MAX_IMAGE_PIXELSnum1 << 30
OPENCV_IO_ENABLE_OPENEXRbooltrue(设置构建选项 OPENCV_IO_FORCE_OPENEXR 或使用外部 OpenEXR),false(否则)启用 OpenEXR 后端
OPENCV_IO_ENABLE_JASPERbooltrue(设置构建选项 OPENCV_IO_FORCE_JASPER),false(否则)启用 Jasper 后端