类 Dnn


  • public class Dnn
    extends java.lang.Object
    • 字段详细信息

      • DNN_BACKEND_DEFAULT

        public static final int DNN_BACKEND_DEFAULT
        参见
        常量字段值
      • DNN_BACKEND_HALIDE

        public static final int DNN_BACKEND_HALIDE
        参见
        常量字段值
      • DNN_BACKEND_INFERENCE_ENGINE

        public static final int DNN_BACKEND_INFERENCE_ENGINE
        参见
        常量字段值
      • DNN_BACKEND_OPENCV

        public static final int DNN_BACKEND_OPENCV
        参见
        常量字段值
      • DNN_BACKEND_VKCOM

        public static final int DNN_BACKEND_VKCOM
        参见
        常量字段值
      • DNN_BACKEND_CUDA

        public static final int DNN_BACKEND_CUDA
        参见
        常量字段值
      • DNN_BACKEND_WEBNN

        public static final int DNN_BACKEND_WEBNN
        参见
        常量字段值
      • DNN_BACKEND_TIMVX

        public static final int DNN_BACKEND_TIMVX
        参见
        常量字段值
      • DNN_BACKEND_CANN

        public static final int DNN_BACKEND_CANN
        参见
        常量字段值
      • DNN_LAYOUT_UNKNOWN

        public static final int DNN_LAYOUT_UNKNOWN
        参见
        常量字段值
      • DNN_LAYOUT_ND

        public static final int DNN_LAYOUT_ND
        参见
        常量字段值
      • DNN_LAYOUT_NCHW

        public static final int DNN_LAYOUT_NCHW
        参见
        常量字段值
      • DNN_LAYOUT_NCDHW

        public static final int DNN_LAYOUT_NCDHW
        参见
        常量字段值
      • DNN_LAYOUT_NHWC

        public static final int DNN_LAYOUT_NHWC
        参见
        常量字段值
      • DNN_LAYOUT_NDHWC

        public static final int DNN_LAYOUT_NDHWC
        参见
        常量字段值
      • DNN_LAYOUT_PLANAR

        public static final int DNN_LAYOUT_PLANAR
        参见
        常量字段值
      • DNN_PMODE_NULL

        public static final int DNN_PMODE_NULL
        参见
        常量字段值
      • DNN_PMODE_CROP_CENTER

        public static final int DNN_PMODE_CROP_CENTER
        参见
        常量字段值
      • DNN_PMODE_LETTERBOX

        public static final int DNN_PMODE_LETTERBOX
        参见
        常量字段值
      • SoftNMSMethod_SOFTNMS_LINEAR

        public static final int SoftNMSMethod_SOFTNMS_LINEAR
        参见
        常量字段值
      • SoftNMSMethod_SOFTNMS_GAUSSIAN

        public static final int SoftNMSMethod_SOFTNMS_GAUSSIAN
        参见
        常量字段值
      • DNN_TARGET_CPU

        public static final int DNN_TARGET_CPU
        参见
        常量字段值
      • DNN_TARGET_OPENCL

        public static final int DNN_TARGET_OPENCL
        参见
        常量字段值
      • DNN_TARGET_OPENCL_FP16

        public static final int DNN_TARGET_OPENCL_FP16
        参见
        常量字段值
      • DNN_TARGET_MYRIAD

        public static final int DNN_TARGET_MYRIAD
        参见
        常量字段值
      • DNN_TARGET_VULKAN

        public static final int DNN_TARGET_VULKAN
        参见
        常量字段值
      • DNN_TARGET_FPGA

        public static final int DNN_TARGET_FPGA
        参见
        常量字段值
      • DNN_TARGET_CUDA

        public static final int DNN_TARGET_CUDA
        参见
        常量字段值
      • DNN_TARGET_CUDA_FP16

        public static final int DNN_TARGET_CUDA_FP16
        参见
        常量字段值
      • DNN_TARGET_HDDL

        public static final int DNN_TARGET_HDDL
        参见
        常量字段值
      • DNN_TARGET_NPU

        public static final int DNN_TARGET_NPU
        参见
        常量字段值
      • DNN_TARGET_CPU_FP16

        public static final int DNN_TARGET_CPU_FP16
        参见
        常量字段值
    • 构造函数详细信息

      • Dnn

        public Dnn()
    • 方法详细信息

      • getAvailableTargets

        public static java.util.List<java.lang.Integer> getAvailableTargets​(int be)
      • readNetFromDarknet

        public static Net readNetFromDarknet​(java.lang.String cfgFile,
                                             java.lang.String darknetModel)
        读取以 Darknet 模型文件格式存储的网络模型。
        参数
        cfgFile - 指向 .cfg 文件的路径,该文件包含网络架构的文本描述。
        darknetModel - 指向 .weights 文件的路径,该文件包含已学习的网络。
        返回
        准备好进行前向传播的网络对象,在失败情况下会抛出异常。
      • readNetFromDarknet

        public static Net readNetFromDarknet​(java.lang.String cfgFile)
        读取以 Darknet 模型文件格式存储的网络模型。
        参数
        cfgFile - 指向 .cfg 文件的路径,该文件包含网络架构的文本描述。
        返回
        准备好进行前向传播的网络对象,在失败情况下会抛出异常。
      • readNetFromDarknet

        public static Net readNetFromDarknet​(MatOfByte bufferCfg,
                                             MatOfByte bufferModel)
        读取以 Darknet 模型文件格式存储的网络模型。
        参数
        bufferCfg - 一个缓冲区,包含 .cfg 文件的内容,其中包含网络架构的文本描述。
        bufferModel - 一个缓冲区,包含 .weights 文件的内容,其中包含已学习的网络。
        返回
        Net 对象。
      • readNetFromDarknet

        public static Net readNetFromDarknet​(MatOfByte bufferCfg)
        读取以 Darknet 模型文件格式存储的网络模型。
        参数
        bufferCfg - 一个缓冲区,包含 .cfg 文件的内容,其中包含网络架构的文本描述。
        返回
        Net 对象。
      • readNetFromCaffe

        public static Net readNetFromCaffe​(java.lang.String prototxt,
                                           java.lang.String caffeModel)
        读取以 Caffe 框架格式存储的网络模型。
        参数
        prototxt - 指向 .prototxt 文件的路径,该文件包含网络架构的文本描述。
        caffeModel - 指向 .caffemodel 文件的路径,该文件包含已学习的网络。
        返回
        Net 对象。
      • readNetFromCaffe

        public static Net readNetFromCaffe​(java.lang.String prototxt)
        读取以 Caffe 框架格式存储的网络模型。
        参数
        prototxt - 指向 .prototxt 文件的路径,该文件包含网络架构的文本描述。
        返回
        Net 对象。
      • readNetFromCaffe

        public static Net readNetFromCaffe​(MatOfByte bufferProto,
                                           MatOfByte bufferModel)
        读取内存中以Caffe模型格式存储的网络模型。
        参数
        bufferProto - 包含 .prototxt 文件内容的缓冲区
        bufferModel - 包含 .caffemodel 文件内容的缓冲区
        返回
        Net 对象。
      • readNetFromCaffe

        public static Net readNetFromCaffe​(MatOfByte bufferProto)
        读取内存中以Caffe模型格式存储的网络模型。
        参数
        bufferProto - 包含 .prototxt 文件内容的缓冲区
        返回
        Net 对象。
      • readNetFromTensorflow

        public static Net readNetFromTensorflow​(java.lang.String model,
                                                java.lang.String config)
        读取以 TensorFlow 框架格式存储的网络模型。
        参数
        model - 指向 .pb 文件的路径,该文件包含网络架构的二进制 protobuf 描述
        config - 指向 .pbtxt 文件的路径,该文件包含 protobuf 格式的文本图定义。生成的 Net 对象通过文本图使用二进制权重构建,这使其更具灵活性。
        返回
        Net 对象。
      • readNetFromTensorflow

        public static Net readNetFromTensorflow​(java.lang.String model)
        读取以 TensorFlow 框架格式存储的网络模型。
        参数
        model - 指向 .pb 文件的路径,该文件包含网络架构的二进制 protobuf 描述。生成的 Net 对象通过文本图使用二进制权重构建,这使其更具灵活性。
        返回
        Net 对象。
      • readNetFromTensorflow

        public static Net readNetFromTensorflow​(MatOfByte bufferModel,
                                                MatOfByte bufferConfig)
        读取以 TensorFlow 框架格式存储的网络模型。
        参数
        bufferModel - 包含 .pb 文件内容的缓冲区
        bufferConfig - 包含 .pbtxt 文件内容的缓冲区
        返回
        Net 对象。
      • readNetFromTensorflow

        public static Net readNetFromTensorflow​(MatOfByte bufferModel)
        读取以 TensorFlow 框架格式存储的网络模型。
        参数
        bufferModel - 包含 .pb 文件内容的缓冲区
        返回
        Net 对象。
      • readNetFromTFLite

        public static Net readNetFromTFLite​(java.lang.String model)
        读取以 TFLite 框架格式存储的网络模型。
        参数
        model - 指向 .tflite 文件的路径,该文件包含网络架构的二进制 flatbuffers 描述
        返回
        Net 对象。
      • readNetFromTFLite

        public static Net readNetFromTFLite​(MatOfByte bufferModel)
        读取以 TFLite 框架格式存储的网络模型。
        参数
        bufferModel - 包含 .tflite 文件内容的缓冲区
        返回
        Net 对象。
      • readNetFromTorch

        public static Net readNetFromTorch​(java.lang.String model,
                                           boolean isBinary,
                                           boolean evaluate)
        读取以 Torch7 框架格式存储的网络模型。
        参数
        model - 指向使用 torch.save() 函数从 Torch 导出的文件的路径。
        isBinary - 指定网络是以 ASCII 模式还是二进制模式序列化。
        evaluate - 指定网络的测试阶段。如果为 true,则类似于 Torch 中的 evaluate() 方法。
        返回
        Net 对象。注意:Torch 序列化程序的 ASCII 模式更受青睐,因为二进制模式广泛使用 C 语言的 long 类型,该类型在不同系统上具有不同的位长度。加载文件必须包含序列化的 nn.Module 对象,并导入网络。尝试从序列化数据中消除自定义对象,以避免导入错误。支持的层列表(即源自 Torch nn.Module 类的对象实例):- nn.Sequential - nn.Parallel - nn.Concat - nn.Linear - nn.SpatialConvolution - nn.SpatialMaxPooling, nn.SpatialAveragePooling - nn.ReLU, nn.TanH, nn.Sigmoid - nn.Reshape - nn.SoftMax, nn.LogSoftMax 此外,来自 cunn、cudnn 和 fbcunn 的这些类的一些等效项也可以成功导入。
      • readNetFromTorch

        public static Net readNetFromTorch​(java.lang.String model,
                                           boolean isBinary)
        读取以 Torch7 框架格式存储的网络模型。
        参数
        model - 指向使用 torch.save() 函数从 Torch 导出的文件的路径。
        isBinary - 指定网络是以 ASCII 模式还是二进制模式序列化。
        返回
        Net 对象。注意:Torch 序列化程序的 ASCII 模式更受青睐,因为二进制模式广泛使用 C 语言的 long 类型,该类型在不同系统上具有不同的位长度。加载文件必须包含序列化的 nn.Module 对象,并导入网络。尝试从序列化数据中消除自定义对象,以避免导入错误。支持的层列表(即源自 Torch nn.Module 类的对象实例):- nn.Sequential - nn.Parallel - nn.Concat - nn.Linear - nn.SpatialConvolution - nn.SpatialMaxPooling, nn.SpatialAveragePooling - nn.ReLU, nn.TanH, nn.Sigmoid - nn.Reshape - nn.SoftMax, nn.LogSoftMax 此外,来自 cunn、cudnn 和 fbcunn 的这些类的一些等效项也可以成功导入。
      • readNetFromTorch

        public static Net readNetFromTorch​(java.lang.String model)
        读取以 Torch7 框架格式存储的网络模型。
        参数
        model - 指向使用 torch.save() 函数从 Torch 导出的文件的路径。
        返回
        Net 对象。注意:Torch 序列化程序的 ASCII 模式更受青睐,因为二进制模式广泛使用 C 语言的 long 类型,该类型在不同系统上具有不同的位长度。加载文件必须包含序列化的 nn.Module 对象,并导入网络。尝试从序列化数据中消除自定义对象,以避免导入错误。支持的层列表(即源自 Torch nn.Module 类的对象实例):- nn.Sequential - nn.Parallel - nn.Concat - nn.Linear - nn.SpatialConvolution - nn.SpatialMaxPooling, nn.SpatialAveragePooling - nn.ReLU, nn.TanH, nn.Sigmoid - nn.Reshape - nn.SoftMax, nn.LogSoftMax 此外,来自 cunn、cudnn 和 fbcunn 的这些类的一些等效项也可以成功导入。
      • readNet

        public static Net readNet​(java.lang.String model,
                                  java.lang.String config,
                                  java.lang.String framework)
        读取以受支持格式之一表示的深度学习网络。
        参数
        model - 包含训练权重的二进制文件。不同框架的模型预期文件扩展名如下:* *.caffemodel (Caffe, http://caffe.berkeleyvision.org/) * *.pb (TensorFlow, https://tensorflowcn.cn/) * *.t7 | *.net (Torch, https://torch.pytorch.ac.cn/) * *.weights (Darknet, https://pjreddie.com/darknet/) * *.bin | *.onnx (OpenVINO, https://software.intel.com/openvino-toolkit) * *.onnx (ONNX, https://onnx.com.cn/)
        config - 包含网络配置的文本文件。它可能是具有以下扩展名的文件:* *.prototxt (Caffe, http://caffe.berkeleyvision.org/) * *.pbtxt (TensorFlow, https://tensorflowcn.cn/) * *.cfg (Darknet, https://pjreddie.com/darknet/) * *.xml (OpenVINO, https://software.intel.com/openvino-toolkit)
        framework - 用于确定格式的显式框架名称标签。
        返回
        Net 对象。此函数自动检测训练模型的原始框架,并调用相应的函数,例如 REF: readNetFromCaffe、REF: readNetFromTensorflow、REF: readNetFromTorch 或 REF: readNetFromDarknet。modelconfig 参数的顺序无关紧要。
      • readNet

        public static Net readNet​(java.lang.String model,
                                  java.lang.String config)
        读取以受支持格式之一表示的深度学习网络。
        参数
        model - 包含训练权重的二进制文件。不同框架的模型预期文件扩展名如下:* *.caffemodel (Caffe, http://caffe.berkeleyvision.org/) * *.pb (TensorFlow, https://tensorflowcn.cn/) * *.t7 | *.net (Torch, https://torch.pytorch.ac.cn/) * *.weights (Darknet, https://pjreddie.com/darknet/) * *.bin | *.onnx (OpenVINO, https://software.intel.com/openvino-toolkit) * *.onnx (ONNX, https://onnx.com.cn/)
        config - 包含网络配置的文本文件。它可能是具有以下扩展名的文件:* *.prototxt (Caffe, http://caffe.berkeleyvision.org/) * *.pbtxt (TensorFlow, https://tensorflowcn.cn/) * *.cfg (Darknet, https://pjreddie.com/darknet/) * *.xml (OpenVINO, https://software.intel.com/openvino-toolkit)
        返回
        Net 对象。此函数自动检测训练模型的原始框架,并调用相应的函数,例如 REF: readNetFromCaffe、REF: readNetFromTensorflow、REF: readNetFromTorch 或 REF: readNetFromDarknet。modelconfig 参数的顺序无关紧要。
      • readNet

        public static Net readNet​(java.lang.String model)
        读取以受支持格式之一表示的深度学习网络。
        参数
        model - 包含训练权重的二进制文件。不同框架的模型预期文件扩展名如下:* *.caffemodel (Caffe, http://caffe.berkeleyvision.org/) * *.pb (TensorFlow, https://tensorflowcn.cn/) * *.t7 | *.net (Torch, https://torch.pytorch.ac.cn/) * *.weights (Darknet, https://pjreddie.com/darknet/) * *.bin | *.onnx (OpenVINO, https://software.intel.com/openvino-toolkit) * *.onnx (ONNX, https://onnx.com.cn/) 文件的扩展名如下:* *.prototxt (Caffe, http://caffe.berkeleyvision.org/) * *.pbtxt (TensorFlow, https://tensorflowcn.cn/) * *.cfg (Darknet, https://pjreddie.com/darknet/) * *.xml (OpenVINO, https://software.intel.com/openvino-toolkit)
        返回
        Net 对象。此函数自动检测训练模型的原始框架,并调用相应的函数,例如 REF: readNetFromCaffe、REF: readNetFromTensorflow、REF: readNetFromTorch 或 REF: readNetFromDarknet。modelconfig 参数的顺序无关紧要。
      • readNet

        public static Net readNet​(java.lang.String framework,
                                  MatOfByte bufferModel,
                                  MatOfByte bufferConfig)
        读取以受支持格式之一表示的深度学习网络。这是一个重载成员函数,为方便起见而提供。它与上述函数的区别仅在于它接受的参数。
        参数
        framework - 原始框架的名称。
        bufferModel - 包含权重二进制文件内容的缓冲区
        bufferConfig - 包含网络配置文本文件内容的缓冲区。
        返回
        Net 对象。
      • readNet

        public static Net readNet​(java.lang.String framework,
                                  MatOfByte bufferModel)
        读取以受支持格式之一表示的深度学习网络。这是一个重载成员函数,为方便起见而提供。它与上述函数的区别仅在于它接受的参数。
        参数
        framework - 原始框架的名称。
        bufferModel - 包含权重二进制文件内容的缓冲区
        返回
        Net 对象。
      • readTorchBlob

        public static Mat readTorchBlob​(java.lang.String filename,
                                        boolean isBinary)
        加载作为 Torch7 框架的 torch.Tensor 对象序列化的 blob。警告:此函数与 readNetFromTorch() 具有相同的限制。
        参数
        filename - 自动生成
        isBinary - 自动生成
        返回
        自动生成
      • readTorchBlob

        public static Mat readTorchBlob​(java.lang.String filename)
        加载作为 Torch7 框架的 torch.Tensor 对象序列化的 blob。警告:此函数与 readNetFromTorch() 具有相同的限制。
        参数
        filename - 自动生成
        返回
        自动生成
      • readNetFromModelOptimizer

        public static Net readNetFromModelOptimizer​(java.lang.String xml,
                                                    java.lang.String bin)
        从英特尔的 Model Optimizer 中间表示加载网络。
        参数
        xml - 包含网络拓扑的 XML 配置文件。
        bin - 包含训练权重的二进制文件。
        返回
        Net 对象。从英特尔 Model Optimizer 导入的网络将在英特尔 Inference Engine 后端启动。
      • readNetFromModelOptimizer

        public static Net readNetFromModelOptimizer​(java.lang.String xml)
        从英特尔的 Model Optimizer 中间表示加载网络。
        参数
        xml - 包含网络拓扑的 XML 配置文件。
        返回
        Net 对象。从英特尔 Model Optimizer 导入的网络将在英特尔 Inference Engine 后端启动。
      • readNetFromModelOptimizer

        public static Net readNetFromModelOptimizer​(MatOfByte bufferModelConfig,
                                                    MatOfByte bufferWeights)
        从英特尔的 Model Optimizer 中间表示加载网络。
        参数
        bufferModelConfig - 包含网络拓扑的 XML 配置的缓冲区。
        bufferWeights - 包含训练权重二进制数据的缓冲区。
        返回
        Net 对象。从英特尔 Model Optimizer 导入的网络将在英特尔 Inference Engine 后端启动。
      • readNetFromONNX

        public static Net readNetFromONNX​(java.lang.String onnxFile)
        读取 ONNX 网络模型。
        参数
        onnxFile - 指向 .onnx 文件的路径,该文件包含网络架构的文本描述。
        返回
        准备好进行前向传播的网络对象,在失败情况下会抛出异常。
      • readNetFromONNX

        public static Net readNetFromONNX​(MatOfByte buffer)
        ONNX 内存缓冲区读取网络模型。
        参数
        buffer - 存储 ONNX 模型字节的内存缓冲区。
        返回
        准备好进行前向传播的网络对象,在失败情况下会抛出异常。
      • readTensorFromONNX

        public static Mat readTensorFromONNX​(java.lang.String path)
        从 .pb 文件创建Blob。
        参数
        path - 指向包含输入张量的 .pb 文件路径。
        返回
        Mat。
      • blobFromImage

        public static Mat blobFromImage​(Mat image,
                                        double scalefactor,
                                        Size size,
                                        Scalar mean,
                                        boolean swapRB,
                                        boolean crop,
                                        int ddepth)
        从图像创建四维 blob。可选择调整图像大小并从中心裁剪 image,减去 mean 值,按 scalefactor 缩放值,交换蓝色和红色通道。
        参数
        image - 输入图像(具有 1、3 或 4 个通道)。
        scalefactor - images 值的乘数。
        size - 输出图像的空间大小
        mean - 包含从通道中减去的均值的标量。如果 image 具有 BGR 顺序且 swapRB 为 true,则值应按 (mean-R, mean-G, mean-B) 顺序。
        swapRB - 指示是否需要在三通道图像中交换第一个和最后一个通道的标志。
        crop - 指示图像在调整大小后是否会被裁剪的标志
        ddepth - 输出 blob 的深度。选择 CV_32F 或 CV_8U。如果 crop 为 true,则输入图像会调整大小,使得调整后的一边等于 size 中的对应维度,另一边等于或大于。然后,执行从中心裁剪。如果 crop 为 false,则执行不裁剪且保留纵横比的直接调整大小。
        返回
        具有 NCHW 维度顺序的四维 Mat。注意:scalefactormean 的顺序和用法是 (input - mean) * scalefactor。
      • blobFromImage

        public static Mat blobFromImage​(Mat image,
                                        double scalefactor,
                                        Size size,
                                        Scalar mean,
                                        boolean swapRB,
                                        boolean crop)
        从图像创建四维 blob。可选择调整图像大小并从中心裁剪 image,减去 mean 值,按 scalefactor 缩放值,交换蓝色和红色通道。
        参数
        image - 输入图像(具有 1、3 或 4 个通道)。
        scalefactor - images 值的乘数。
        size - 输出图像的空间大小
        mean - 包含从通道中减去的均值的标量。如果 image 具有 BGR 顺序且 swapRB 为 true,则值应按 (mean-R, mean-G, mean-B) 顺序。
        swapRB - 指示是否需要在三通道图像中交换第一个和最后一个通道的标志。
        crop - 指示图像在调整大小后是否会被裁剪的标志。如果 crop 为 true,则输入图像会调整大小,使得调整后的一边等于 size 中的对应维度,另一边等于或大于。然后,执行从中心裁剪。如果 crop 为 false,则执行不裁剪且保留纵横比的直接调整大小。
        返回
        具有 NCHW 维度顺序的四维 Mat。注意:scalefactormean 的顺序和用法是 (input - mean) * scalefactor。
      • blobFromImage

        public static Mat blobFromImage​(Mat image,
                                        double scalefactor,
                                        Size size,
                                        Scalar mean,
                                        boolean swapRB)
        从图像创建四维 blob。可选择调整图像大小并从中心裁剪 image,减去 mean 值,按 scalefactor 缩放值,交换蓝色和红色通道。
        参数
        image - 输入图像(具有 1、3 或 4 个通道)。
        scalefactor - images 值的乘数。
        size - 输出图像的空间大小
        mean - 包含从通道中减去的均值的标量。如果 image 具有 BGR 顺序且 swapRB 为 true,则值应按 (mean-R, mean-G, mean-B) 顺序。
        swapRB - 指示是否需要在三通道图像中交换第一个和最后一个通道的标志。如果 crop 为 true,则输入图像会调整大小,使得调整后的一边等于 size 中的对应维度,另一边等于或大于。然后,执行从中心裁剪。如果 crop 为 false,则执行不裁剪且保留纵横比的直接调整大小。
        返回
        具有 NCHW 维度顺序的四维 Mat。注意:scalefactormean 的顺序和用法是 (input - mean) * scalefactor。
      • blobFromImage

        public static Mat blobFromImage​(Mat image,
                                        double scalefactor,
                                        Size size,
                                        Scalar mean)
        从图像创建四维 blob。可选择调整图像大小并从中心裁剪 image,减去 mean 值,按 scalefactor 缩放值,交换蓝色和红色通道。
        参数
        image - 输入图像(具有 1、3 或 4 个通道)。
        scalefactor - images 值的乘数。
        size - 输出图像的空间大小
        mean - 包含从通道中减去的均值的标量。如果 image 具有 BGR 顺序且 swapRB 为 true,则值应按 (mean-R, mean-G, mean-B) 顺序。在三通道图像中是必要的。如果 crop 为 true,则输入图像会调整大小,使得调整后的一边等于 size 中的对应维度,另一边等于或大于。然后,执行从中心裁剪。如果 crop 为 false,则执行不裁剪且保留纵横比的直接调整大小。
        返回
        具有 NCHW 维度顺序的四维 Mat。注意:scalefactormean 的顺序和用法是 (input - mean) * scalefactor。
      • blobFromImage

        public static Mat blobFromImage​(Mat image,
                                        double scalefactor,
                                        Size size)
        从图像创建四维 blob。可选择调整图像大小并从中心裁剪 image,减去 mean 值,按 scalefactor 缩放值,交换蓝色和红色通道。
        参数
        image - 输入图像(具有 1、3 或 4 个通道)。
        scalefactor - images 值的乘数。
        size - 输出图像的空间大小。如果 image 具有 BGR 顺序且 swapRB 为 true,则值应按 (mean-R, mean-G, mean-B) 顺序。在三通道图像中是必要的。如果 crop 为 true,则输入图像会调整大小,使得调整后的一边等于 size 中的对应维度,另一边等于或大于。然后,执行从中心裁剪。如果 crop 为 false,则执行不裁剪且保留纵横比的直接调整大小。
        返回
        具有 NCHW 维度顺序的四维 Mat。注意:scalefactormean 的顺序和用法是 (input - mean) * scalefactor。
      • blobFromImage

        public static Mat blobFromImage​(Mat image,
                                        double scalefactor)
        从图像创建四维 blob。可选择调整图像大小并从中心裁剪 image,减去 mean 值,按 scalefactor 缩放值,交换蓝色和红色通道。
        参数
        image - 输入图像(具有 1、3 或 4 个通道)。
        scalefactor - images 值的乘数。如果 image 具有 BGR 顺序且 swapRB 为 true,则值应按 (mean-R, mean-G, mean-B) 顺序。在三通道图像中是必要的。如果 crop 为 true,则输入图像会调整大小,使得调整后的一边等于 size 中的对应维度,另一边等于或大于。然后,执行从中心裁剪。如果 crop 为 false,则执行不裁剪且保留纵横比的直接调整大小。
        返回
        具有 NCHW 维度顺序的四维 Mat。注意:scalefactormean 的顺序和用法是 (input - mean) * scalefactor。
      • blobFromImage

        public static Mat blobFromImage​(Mat image)
        从图像创建四维 blob。可选择调整图像大小并从中心裁剪 image,减去 mean 值,按 scalefactor 缩放值,交换蓝色和红色通道。
        参数
        image - 输入图像(具有 1、3 或 4 个通道)。如果 image 具有 BGR 顺序且 swapRB 为 true,则值应按 (mean-R, mean-G, mean-B) 顺序。在三通道图像中是必要的。如果 crop 为 true,则输入图像会调整大小,使得调整后的一边等于 size 中的对应维度,另一边等于或大于。然后,执行从中心裁剪。如果 crop 为 false,则执行不裁剪且保留纵横比的直接调整大小。
        返回
        具有 NCHW 维度顺序的四维 Mat。注意:scalefactormean 的顺序和用法是 (input - mean) * scalefactor。
      • blobFromImages

        public static Mat blobFromImages​(java.util.List<Mat> images,
                                         double scalefactor,
                                         Size size,
                                         Scalar mean,
                                         boolean swapRB,
                                         boolean crop,
                                         int ddepth)
        从一系列图像创建四维 blob。可选择调整 images 大小并从中心裁剪,减去 mean 值,按 scalefactor 缩放值,交换蓝色和红色通道。
        参数
        images - 输入图像(所有图像都具有 1、3 或 4 个通道)。
        size - 输出图像的空间大小
        mean - 包含从通道中减去的均值的标量。如果 image 具有 BGR 顺序且 swapRB 为 true,则值应按 (mean-R, mean-G, mean-B) 顺序。
        scalefactor - images 值的乘数。
        swapRB - 指示是否需要在三通道图像中交换第一个和最后一个通道的标志。
        crop - 指示图像在调整大小后是否会被裁剪的标志
        ddepth - 输出 blob 的深度。选择 CV_32F 或 CV_8U。如果 crop 为 true,则输入图像会调整大小,使得调整后的一边等于 size 中的对应维度,另一边等于或大于。然后,执行从中心裁剪。如果 crop 为 false,则执行不裁剪且保留纵横比的直接调整大小。
        返回
        具有 NCHW 维度顺序的四维 Mat。注意:scalefactormean 的顺序和用法是 (input - mean) * scalefactor。
      • blobFromImages

        public static Mat blobFromImages​(java.util.List<Mat> images,
                                         double scalefactor,
                                         Size size,
                                         Scalar mean,
                                         boolean swapRB,
                                         boolean crop)
        从一系列图像创建四维 blob。可选择调整 images 大小并从中心裁剪,减去 mean 值,按 scalefactor 缩放值,交换蓝色和红色通道。
        参数
        images - 输入图像(所有图像都具有 1、3 或 4 个通道)。
        size - 输出图像的空间大小
        mean - 包含从通道中减去的均值的标量。如果 image 具有 BGR 顺序且 swapRB 为 true,则值应按 (mean-R, mean-G, mean-B) 顺序。
        scalefactor - images 值的乘数。
        swapRB - 指示是否需要在三通道图像中交换第一个和最后一个通道的标志。
        crop - 指示图像在调整大小后是否会被裁剪的标志。如果 crop 为 true,则输入图像会调整大小,使得调整后的一边等于 size 中的对应维度,另一边等于或大于。然后,执行从中心裁剪。如果 crop 为 false,则执行不裁剪且保留纵横比的直接调整大小。
        返回
        具有 NCHW 维度顺序的四维 Mat。注意:scalefactormean 的顺序和用法是 (input - mean) * scalefactor。
      • blobFromImages

        public static Mat blobFromImages​(java.util.List<Mat> images,
                                         double scalefactor,
                                         Size size,
                                         Scalar mean,
                                         boolean swapRB)
        从一系列图像创建四维 blob。可选择调整 images 大小并从中心裁剪,减去 mean 值,按 scalefactor 缩放值,交换蓝色和红色通道。
        参数
        images - 输入图像(所有图像都具有 1、3 或 4 个通道)。
        size - 输出图像的空间大小
        mean - 包含从通道中减去的均值的标量。如果 image 具有 BGR 顺序且 swapRB 为 true,则值应按 (mean-R, mean-G, mean-B) 顺序。
        scalefactor - images 值的乘数。
        swapRB - 指示是否需要在三通道图像中交换第一个和最后一个通道的标志。如果 crop 为 true,则输入图像会调整大小,使得调整后的一边等于 size 中的对应维度,另一边等于或大于。然后,执行从中心裁剪。如果 crop 为 false,则执行不裁剪且保留纵横比的直接调整大小。
        返回
        具有 NCHW 维度顺序的四维 Mat。注意:scalefactormean 的顺序和用法是 (input - mean) * scalefactor。
      • blobFromImages

        public static Mat blobFromImages​(java.util.List<Mat> images,
                                         double scalefactor,
                                         Size size,
                                         Scalar mean)
        从一系列图像创建四维 blob。可选择调整 images 大小并从中心裁剪,减去 mean 值,按 scalefactor 缩放值,交换蓝色和红色通道。
        参数
        images - 输入图像(所有图像都具有 1、3 或 4 个通道)。
        size - 输出图像的空间大小
        mean - 包含从通道中减去的均值的标量。如果 image 具有 BGR 顺序且 swapRB 为 true,则值应按 (mean-R, mean-G, mean-B) 顺序。
        scalefactor - images 值的乘数。在三通道图像中是必要的。如果 crop 为 true,则输入图像会调整大小,使得调整后的一边等于 size 中的对应维度,另一边等于或大于。然后,执行从中心裁剪。如果 crop 为 false,则执行不裁剪且保留纵横比的直接调整大小。
        返回
        具有 NCHW 维度顺序的四维 Mat。注意:scalefactormean 的顺序和用法是 (input - mean) * scalefactor。
      • blobFromImages

        public static Mat blobFromImages​(java.util.List<Mat> images,
                                         double scalefactor,
                                         Size size)
        从一系列图像创建四维 blob。可选择调整 images 大小并从中心裁剪,减去 mean 值,按 scalefactor 缩放值,交换蓝色和红色通道。
        参数
        images - 输入图像(所有图像都具有 1、3 或 4 个通道)。
        size - 输出图像的空间大小。如果 image 具有 BGR 顺序且 swapRB 为 true,则值应按 (mean-R, mean-G, mean-B) 顺序。
        scalefactor - images 值的乘数。在三通道图像中是必要的。如果 crop 为 true,则输入图像会调整大小,使得调整后的一边等于 size 中的对应维度,另一边等于或大于。然后,执行从中心裁剪。如果 crop 为 false,则执行不裁剪且保留纵横比的直接调整大小。
        返回
        具有 NCHW 维度顺序的四维 Mat。注意:scalefactormean 的顺序和用法是 (input - mean) * scalefactor。
      • blobFromImages

        public static Mat blobFromImages​(java.util.List<Mat> images,
                                         double scalefactor)
        从一系列图像创建四维 blob。可选择调整 images 大小并从中心裁剪,减去 mean 值,按 scalefactor 缩放值,交换蓝色和红色通道。
        参数
        images - 输入图像(所有图像都具有 1、3 或 4 个通道)。如果 image 具有 BGR 顺序且 swapRB 为 true,则值应按 (mean-R, mean-G, mean-B) 顺序。
        scalefactor - images 值的乘数。在三通道图像中是必要的。如果 crop 为 true,则输入图像会调整大小,使得调整后的一边等于 size 中的对应维度,另一边等于或大于。然后,执行从中心裁剪。如果 crop 为 false,则执行不裁剪且保留纵横比的直接调整大小。
        返回
        具有 NCHW 维度顺序的四维 Mat。注意:scalefactormean 的顺序和用法是 (input - mean) * scalefactor。
      • blobFromImages

        public static Mat blobFromImages​(java.util.List<Mat> images)
        从一系列图像创建四维 blob。可选择调整 images 大小并从中心裁剪,减去 mean 值,按 scalefactor 缩放值,交换蓝色和红色通道。
        参数
        images - 输入图像(所有图像都具有 1、3 或 4 个通道)。如果 image 具有 BGR 顺序且 swapRB 为 true,则值应按 (mean-R, mean-G, mean-B) 顺序。在三通道图像中是必要的。如果 crop 为 true,则输入图像会调整大小,使得调整后的一边等于 size 中的对应维度,另一边等于或大于。然后,执行从中心裁剪。如果 crop 为 false,则执行不裁剪且保留纵横比的直接调整大小。
        返回
        具有 NCHW 维度顺序的四维 Mat。注意:scalefactormean 的顺序和用法是 (input - mean) * scalefactor。
      • blobFromImageWithParams

        public static Mat blobFromImageWithParams​(Mat image,
                                                  Image2BlobParams param)
        根据给定参数从图像创建四维 blob。此函数是 REF: blobFromImage 的扩展,以满足更多的图像预处理需求。给定输入图像和预处理参数,函数将输出 blob。
        参数
        image - 输入图像(所有图像都具有 1、3 或 4 个通道)。
        param - Image2BlobParams 结构体,包含图像处理为 blob 所需的所有参数。
        返回
        四维 Mat。
      • blobFromImageWithParams

        public static Mat blobFromImageWithParams​(Mat image)
        根据给定参数从图像创建四维 blob。此函数是 REF: blobFromImage 的扩展,以满足更多的图像预处理需求。给定输入图像和预处理参数,函数将输出 blob。
        参数
        image - 输入图像(所有图像都具有 1、3 或 4 个通道)。
        返回
        四维 Mat。
      • blobFromImageWithParams

        public static void blobFromImageWithParams​(Mat image,
                                                   Mat blob,
                                                   Image2BlobParams param)
      • blobFromImageWithParams

        public static void blobFromImageWithParams​(Mat image,
                                                   Mat blob)
      • blobFromImagesWithParams

        public static Mat blobFromImagesWithParams​(java.util.List<Mat> images,
                                                   Image2BlobParams param)
        根据给定参数从一系列图像创建四维 blob。此函数是 REF: blobFromImages 的扩展,以满足更多的图像预处理需求。给定输入图像和预处理参数,函数将输出 blob。
        参数
        images - 输入图像(所有图像都具有 1、3 或 4 个通道)。
        param - Image2BlobParams 结构体,包含图像处理为 blob 所需的所有参数。
        返回
        四维 Mat。
      • blobFromImagesWithParams

        public static Mat blobFromImagesWithParams​(java.util.List<Mat> images)
        根据给定参数从一系列图像创建四维 blob。此函数是 REF: blobFromImages 的扩展,以满足更多的图像预处理需求。给定输入图像和预处理参数,函数将输出 blob。
        参数
        images - 输入图像(所有图像都具有 1、3 或 4 个通道)。
        返回
        四维 Mat。
      • blobFromImagesWithParams

        public static void blobFromImagesWithParams​(java.util.List<Mat> images,
                                                    Mat blob,
                                                    Image2BlobParams param)
      • blobFromImagesWithParams

        public static void blobFromImagesWithParams​(java.util.List<Mat> images,
                                                    Mat blob)
      • imagesFromBlob

        public static void imagesFromBlob​(Mat blob_,
                                          java.util.List<Mat> images_)
        解析一个四维 blob,并通过更简单的数据结构(std::vector<cv::Mat>)将其包含的图像作为二维数组输出。
        参数
        blob_ - 四维数组(图像、通道、高度、宽度),以浮点精度(CV_32F)表示,您希望从中提取图像。
        images_ - 包含从 blob 中提取的图像的二维 Mat 数组,以浮点精度(CV_32F)表示。它们既未归一化也未添加均值。返回的图像数量等于 blob 的第一个维度(批大小)。每个图像的通道数等于 blob 的第二个维度(深度)。
      • shrinkCaffeModel

        public static void shrinkCaffeModel​(java.lang.String src,
                                            java.lang.String dst,
                                            java.util.List<java.lang.String> layersTypes)
        将 Caffe 网络的所有权重转换为半精度浮点数。
        参数
        src - 指向 Caffe 框架原始模型的路径,该模型包含单精度浮点权重(通常具有 .caffemodel 扩展名)。
        dst - 指向带有更新权重的目标模型的路径。
        layersTypes - 将转换其参数的层类型集合。默认情况下,仅转换卷积层和全连接层的权重。注意:缩减后的模型没有原始 float32 权重,因此无法再在原始 Caffe 框架中使用。但是,数据结构取自 NVidia 的 Caffe 分支:https://github.com/NVIDIA/caffe。因此,生成模型可以在那里使用。
      • shrinkCaffeModel

        public static void shrinkCaffeModel​(java.lang.String src,
                                            java.lang.String dst)
        将 Caffe 网络的所有权重转换为半精度浮点数。
        参数
        src - 指向 Caffe 框架原始模型的路径,该模型包含单精度浮点权重(通常具有 .caffemodel 扩展名)。
        dst - 指向带有更新权重的目标模型的路径。默认情况下,仅转换卷积层和全连接层的权重。注意:缩减后的模型没有原始 float32 权重,因此无法再在原始 Caffe 框架中使用。但是,数据结构取自 NVidia 的 Caffe 分支:https://github.com/NVIDIA/caffe。因此,生成模型可以在那里使用。
      • writeTextGraph

        public static void writeTextGraph​(java.lang.String model,
                                          java.lang.String output)
        为以协议缓冲区格式存储的二进制网络创建文本表示。
        参数
        model - 指向二进制网络的路径。
        output - 要创建的输出文本文件的路径。注意:为减小输出文件大小,不包含训练权重。
      • NMSBoxes

        public static void NMSBoxes​(MatOfRect2d bboxes,
                                    MatOfFloat scores,
                                    float score_threshold,
                                    float nms_threshold,
                                    MatOfInt indices,
                                    float eta,
                                    int top_k)
        对给定边界框和对应分数执行非极大值抑制。
        参数
        bboxes - 要应用 NMS 的边界框集合。
        scores - 对应的置信度集合。
        score_threshold - 用于按分数过滤边界框的阈值。
        nms_threshold - 非极大值抑制中使用的阈值。
        indices - NMS 后保留的边界框索引。
        eta - 自适应阈值公式中的系数:\(nms\_threshold_{i+1}=eta\cdot nms\_threshold_i\)。
        top_k - 如果 &gt;0,最多保留 top_k 个选定索引。
      • NMSBoxes

        public static void NMSBoxes​(MatOfRect2d bboxes,
                                    MatOfFloat scores,
                                    float score_threshold,
                                    float nms_threshold,
                                    MatOfInt indices,
                                    float eta)
        对给定边界框和对应分数执行非极大值抑制。
        参数
        bboxes - 要应用 NMS 的边界框集合。
        scores - 对应的置信度集合。
        score_threshold - 用于按分数过滤边界框的阈值。
        nms_threshold - 非极大值抑制中使用的阈值。
        indices - NMS 后保留的边界框索引。
        eta - 自适应阈值公式中的系数:\(nms\_threshold_{i+1}=eta\cdot nms\_threshold_i\)。
      • NMSBoxes

        public static void NMSBoxes​(MatOfRect2d bboxes,
                                    MatOfFloat scores,
                                    float score_threshold,
                                    float nms_threshold,
                                    MatOfInt indices)
        对给定边界框和对应分数执行非极大值抑制。
        参数
        bboxes - 要应用 NMS 的边界框集合。
        scores - 对应的置信度集合。
        score_threshold - 用于按分数过滤边界框的阈值。
        nms_threshold - 非极大值抑制中使用的阈值。
        indices - NMS 后保留的边界框索引。
      • NMSBoxesRotated

        public static void NMSBoxesRotated​(MatOfRotatedRect bboxes,
                                           MatOfFloat scores,
                                           float score_threshold,
                                           float nms_threshold,
                                           MatOfInt indices,
                                           float eta,
                                           int top_k)
      • NMSBoxesRotated

        public static void NMSBoxesRotated​(MatOfRotatedRect bboxes,
                                           MatOfFloat scores,
                                           float score_threshold,
                                           float nms_threshold,
                                           MatOfInt indices,
                                           float eta)
      • NMSBoxesBatched

        public static void NMSBoxesBatched​(MatOfRect2d bboxes,
                                           MatOfFloat scores,
                                           MatOfInt class_ids,
                                           float score_threshold,
                                           float nms_threshold,
                                           MatOfInt indices,
                                           float eta,
                                           int top_k)
        对给定不同类别的边界框和对应分数执行批量非极大值抑制。
        参数
        bboxes - 要应用 NMS 的边界框集合。
        scores - 对应的置信度集合。
        class_ids - 对应的类别 ID 集合。ID 是整数,通常从 0 开始。
        score_threshold - 用于按分数过滤边界框的阈值。
        nms_threshold - 非极大值抑制中使用的阈值。
        indices - NMS 后保留的边界框索引。
        eta - 自适应阈值公式中的系数:\(nms\_threshold_{i+1}=eta\cdot nms\_threshold_i\)。
        top_k - 如果 &gt;0,最多保留 top_k 个选定索引。
      • NMSBoxesBatched

        public static void NMSBoxesBatched​(MatOfRect2d bboxes,
                                           MatOfFloat scores,
                                           MatOfInt class_ids,
                                           float score_threshold,
                                           float nms_threshold,
                                           MatOfInt indices,
                                           float eta)
        对给定不同类别的边界框和对应分数执行批量非极大值抑制。
        参数
        bboxes - 要应用 NMS 的边界框集合。
        scores - 对应的置信度集合。
        class_ids - 对应的类别 ID 集合。ID 是整数,通常从 0 开始。
        score_threshold - 用于按分数过滤边界框的阈值。
        nms_threshold - 非极大值抑制中使用的阈值。
        indices - NMS 后保留的边界框索引。
        eta - 自适应阈值公式中的系数:\(nms\_threshold_{i+1}=eta\cdot nms\_threshold_i\)。
      • NMSBoxesBatched

        public static void NMSBoxesBatched​(MatOfRect2d bboxes,
                                           MatOfFloat scores,
                                           MatOfInt class_ids,
                                           float score_threshold,
                                           float nms_threshold,
                                           MatOfInt indices)
        对给定不同类别的边界框和对应分数执行批量非极大值抑制。
        参数
        bboxes - 要应用 NMS 的边界框集合。
        scores - 对应的置信度集合。
        class_ids - 对应的类别 ID 集合。ID 是整数,通常从 0 开始。
        score_threshold - 用于按分数过滤边界框的阈值。
        nms_threshold - 非极大值抑制中使用的阈值。
        indices - NMS 后保留的边界框索引。
      • softNMSBoxes

        public static void softNMSBoxes​(MatOfRect bboxes,
                                        MatOfFloat scores,
                                        MatOfFloat updated_scores,
                                        float score_threshold,
                                        float nms_threshold,
                                        MatOfInt indices,
                                        long top_k,
                                        float sigma)
        对给定边界框和对应分数执行软非极大值抑制。参考:https://arxiv.org/abs/1704.04503
        参数
        bboxes - 要应用软 NMS 的边界框集合。
        scores - 对应的置信度集合。
        updated_scores - 对应的更新置信度集合。
        score_threshold - 用于按分数过滤边界框的阈值。
        nms_threshold - 非极大值抑制中使用的阈值。
        indices - NMS 后保留的边界框索引。
        top_k - 最多保留 top_k 个选定索引。
        sigma - 高斯加权参数。参见:SoftNMSMethod
      • softNMSBoxes

        public static void softNMSBoxes​(MatOfRect bboxes,
                                        MatOfFloat scores,
                                        MatOfFloat updated_scores,
                                        float score_threshold,
                                        float nms_threshold,
                                        MatOfInt indices,
                                        long top_k)
        对给定边界框和对应分数执行软非极大值抑制。参考:https://arxiv.org/abs/1704.04503
        参数
        bboxes - 要应用软 NMS 的边界框集合。
        scores - 对应的置信度集合。
        updated_scores - 对应的更新置信度集合。
        score_threshold - 用于按分数过滤边界框的阈值。
        nms_threshold - 非极大值抑制中使用的阈值。
        indices - NMS 后保留的边界框索引。
        top_k - 最多保留 top_k 个选定索引。参见:SoftNMSMethod
      • softNMSBoxes

        public static void softNMSBoxes​(MatOfRect bboxes,
                                        MatOfFloat scores,
                                        MatOfFloat updated_scores,
                                        float score_threshold,
                                        float nms_threshold,
                                        MatOfInt indices)
        对给定边界框和对应分数执行软非极大值抑制。参考:https://arxiv.org/abs/1704.04503
        参数
        bboxes - 要应用软 NMS 的边界框集合。
        scores - 对应的置信度集合。
        updated_scores - 对应的更新置信度集合。
        score_threshold - 用于按分数过滤边界框的阈值。
        nms_threshold - 非极大值抑制中使用的阈值。
        indices - NMS 后保留的边界框索引。参见:SoftNMSMethod
      • getInferenceEngineBackendType

        @Deprecated
        public static java.lang.String getInferenceEngineBackendType()
        已弃用。
        返回 Inference Engine 内部后端 API。请参阅 CV_DNN_BACKEND_INFERENCE_ENGINE_* 宏的值。自 4.6.0 版本起,OPENCV_DNN_BACKEND_INFERENCE_ENGINE_TYPE 运行时参数(环境变量)将被忽略。
        返回
        自动生成
      • setInferenceEngineBackendType

        @Deprecated
        public static java.lang.String setInferenceEngineBackendType​(java.lang.String newBackendType)
        已弃用。
        指定 Inference Engine 内部后端 API。请参阅 CV_DNN_BACKEND_INFERENCE_ENGINE_* 宏的值。
        参数
        newBackendType - 自动生成
        返回
        内部后端 API 的先前值
      • resetMyriadDevice

        public static void resetMyriadDevice()
        释放 Myriad 设备(由 OpenCV 绑定)。单个 Myriad 设备不能在多个使用 Inference Engine Myriad 插件的进程之间共享。
      • getInferenceEngineVPUType

        public static java.lang.String getInferenceEngineVPUType()
        返回 Inference Engine VPU 类型。请参阅 CV_DNN_INFERENCE_ENGINE_VPU_TYPE_* 宏的值。
        返回
        自动生成
      • getInferenceEngineCPUType

        public static java.lang.String getInferenceEngineCPUType()
        返回 Inference Engine CPU 类型。指定 OpenVINO 插件:CPU 或 ARM。
        返回
        自动生成
      • releaseHDDLPlugin

        public static void releaseHDDLPlugin()
        释放 HDDL 插件。