类 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 - 包含网络架构二进制 protobuf 描述的 .pb 文件路径
        config - 包含 protobuf 格式文本图形定义的 .pbtxt 文件路径。生成的 Net 对象由使用二进制权重的文本图形构建,这使我们能够使其更灵活。
        返回
        Net 对象。
      • readNetFromTensorflow

        public static Net readNetFromTensorflow​(java.lang.String model)
        读取存储在TensorFlow框架格式中的网络模型。
        参数
        model - 包含网络架构二进制 protobuf 描述的 .pb 文件路径。生成的 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 - 包含网络架构二进制 flatbuffers 描述的 .tflite 文件路径
        返回
        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.org.cn/) * *.weights (Darknet, https://pjreddie.com/darknet/) * *.bin | *.onnx (OpenVINO, https://software.intel.com/openvino-toolkit) * *.onnx (ONNX, https://onnx.org.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.org.cn/) * *.weights (Darknet, https://pjreddie.com/darknet/) * *.bin | *.onnx (OpenVINO, https://software.intel.com/openvino-toolkit) * *.onnx (ONNX, https://onnx.org.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.org.cn/) * *.weights (Darknet, https://pjreddie.com/darknet/) * *.bin | *.onnx (OpenVINO, https://software.intel.com/openvino-toolkit) * *.onnx (ONNX, https://onnx.org.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)
        从Intel的模型优化器中间表示中加载网络。
        参数
        xml - 包含网络拓扑结构的XML配置文件。
        bin - 包含已训练权重的二进制文件。
        返回
        Net 对象。从英特尔的模型优化器导入的网络在英特尔的推理引擎后端启动。
      • readNetFromModelOptimizer

        public static Net readNetFromModelOptimizer​(java.lang.String xml)
        从Intel的模型优化器中间表示中加载网络。
        参数
        xml - 包含网络拓扑结构的XML配置文件。
        返回
        Net 对象。从英特尔的模型优化器导入的网络在英特尔的推理引擎后端启动。
      • readNetFromModelOptimizer

        public static Net readNetFromModelOptimizer​(MatOfByte bufferModelConfig,
                                                    MatOfByte bufferWeights)
        从Intel的模型优化器中间表示中加载网络。
        参数
        bufferModelConfig - 包含网络拓扑结构的XML配置的缓冲区。
        bufferWeights - 包含已训练权重的二进制数据的缓冲区。
        返回
        Net 对象。从英特尔的模型优化器导入的网络在英特尔的推理引擎后端启动。
      • 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为真,则值应为(mean-R, mean-G, mean-B)顺序。
        swapRB - 指示是否需要交换3通道图像中第一个和最后一个通道的标志。
        crop - 指示图像是否会在调整大小后被裁剪的标志。如果crop为真,则调整输入图像的大小,以便调整大小后的一侧等于size中的相应维度,而另一侧等于或大于相应维度。然后,执行从中心的裁剪。如果crop为假,则执行不裁剪并保持纵横比的直接调整大小。
        ddepth - 输出blob的深度。选择CV_32F或CV_8U。如果crop为真,则调整输入图像的大小,以便调整大小后的一侧等于size中的相应维度,而另一侧等于或大于相应维度。然后,执行从中心的裁剪。如果crop为假,则执行不裁剪并保持纵横比的直接调整大小。
        返回
        具有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为真,则值应为(mean-R, mean-G, mean-B)顺序。
        swapRB - 指示是否需要交换3通道图像中第一个和最后一个通道的标志。
        crop - 指示图像是否会在调整大小后被裁剪的标志。如果crop为真,则调整输入图像的大小,以便调整大小后的一侧等于size中的相应维度,而另一侧等于或大于相应维度。然后,执行从中心的裁剪。如果crop为假,则执行不裁剪并保持纵横比的直接调整大小。
        返回
        具有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为真,则值应为(mean-R, mean-G, mean-B)顺序。
        swapRB - 指示是否需要交换3通道图像中第一个和最后一个通道的标志。如果crop为真,则调整输入图像的大小,以便调整大小后的一侧等于size中的相应维度,而另一侧等于或大于相应维度。然后,执行从中心的裁剪。如果crop为假,则执行不裁剪并保持纵横比的直接调整大小。
        返回
        具有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为真,则值应为(mean-R, mean-G, mean-B)顺序。如果crop为真,则调整输入图像的大小,以便调整大小后的一侧等于size中的相应维度,而另一侧等于或大于相应维度。然后,执行从中心的裁剪。如果crop为假,则执行不裁剪并保持纵横比的直接调整大小。
        返回
        具有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为真,则值应为(mean-R, mean-G, mean-B)顺序。如果crop为真,则调整输入图像的大小,以便调整大小后的一侧等于size中的相应维度,而另一侧等于或大于相应维度。然后,执行从中心的裁剪。如果crop为假,则执行不裁剪并保持纵横比的直接调整大小。
        返回
        具有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为真,则值应为(mean-R, mean-G, mean-B)顺序。如果crop为真,则调整输入图像的大小,以便调整大小后的一侧等于size中的相应维度,而另一侧等于或大于相应维度。然后,执行从中心的裁剪。如果crop为假,则执行不裁剪并保持纵横比的直接调整大小。
        返回
        具有NCHW维度顺序的四维Mat。注意:scalefactormean的顺序和用法是(input - mean) * scalefactor。
      • blobFromImage

        public static Mat blobFromImage​(Mat image)
        从图像创建四维blob。可以选择从中心调整和裁剪image大小,减去mean值,按scalefactor缩放值,交换蓝色和红色通道。
        参数
        image - 输入图像(具有1、3或4个通道)。如果image具有BGR排序并且swapRB为真,则值应为(mean-R, mean-G, mean-B)顺序。如果crop为真,则调整输入图像的大小,以便调整大小后的一侧等于size中的相应维度,而另一侧等于或大于相应维度。然后,执行从中心的裁剪。如果crop为假,则执行不裁剪并保持纵横比的直接调整大小。
        返回
        具有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为真,则值应为(mean-R, mean-G, mean-B)顺序。
        scalefactor - images值的乘数。
        swapRB - 指示是否需要交换3通道图像中第一个和最后一个通道的标志。
        crop - 指示图像是否会在调整大小后被裁剪的标志。如果crop为真,则调整输入图像的大小,以便调整大小后的一侧等于size中的相应维度,而另一侧等于或大于相应维度。然后,执行从中心的裁剪。如果crop为假,则执行不裁剪并保持纵横比的直接调整大小。
        ddepth - 输出blob的深度。选择CV_32F或CV_8U。如果crop为真,则调整输入图像的大小,以便调整大小后的一侧等于size中的相应维度,而另一侧等于或大于相应维度。然后,执行从中心的裁剪。如果crop为假,则执行不裁剪并保持纵横比的直接调整大小。
        返回
        具有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为真,则值应为(mean-R, mean-G, mean-B)顺序。
        scalefactor - images值的乘数。
        swapRB - 指示是否需要交换3通道图像中第一个和最后一个通道的标志。
        crop - 指示图像是否会在调整大小后被裁剪的标志。如果crop为真,则调整输入图像的大小,以便调整大小后的一侧等于size中的相应维度,而另一侧等于或大于相应维度。然后,执行从中心的裁剪。如果crop为假,则执行不裁剪并保持纵横比的直接调整大小。
        返回
        具有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为真,则值应为(mean-R, mean-G, mean-B)顺序。
        scalefactor - images值的乘数。
        swapRB - 指示是否需要交换3通道图像中第一个和最后一个通道的标志。如果crop为真,则调整输入图像的大小,以便调整大小后的一侧等于size中的相应维度,而另一侧等于或大于相应维度。然后,执行从中心的裁剪。如果crop为假,则执行不裁剪并保持纵横比的直接调整大小。
        返回
        具有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为真,则值应为(mean-R, mean-G, mean-B)顺序。
        scalefactor - images值的乘数。如果crop为真,则调整输入图像的大小,以便调整大小后的一侧等于size中的相应维度,而另一侧等于或大于相应维度。然后,执行从中心的裁剪。如果crop为假,则执行不裁剪并保持纵横比的直接调整大小。
        返回
        具有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为真,则值应为(mean-R, mean-G, mean-B)顺序。
        scalefactor - images值的乘数。如果crop为真,则调整输入图像的大小,以便调整大小后的一侧等于size中的相应维度,而另一侧等于或大于相应维度。然后,执行从中心的裁剪。如果crop为假,则执行不裁剪并保持纵横比的直接调整大小。
        返回
        具有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为真,则值应为(mean-R, mean-G, mean-B)顺序。
        scalefactor - images值的乘数。如果crop为真,则调整输入图像的大小,以便调整大小后的一侧等于size中的相应维度,而另一侧等于或大于相应维度。然后,执行从中心的裁剪。如果crop为假,则执行不裁剪并保持纵横比的直接调整大小。
        返回
        具有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为真,则应为 (mean-R, mean-G, mean-B) 顺序。对于3通道图像,此顺序是必要的。如果crop为真,则调整输入图像大小,使其resize后的一边等于size中对应的维度,另一边等于或大于该维度。然后,进行中心裁剪。如果crop为假,则直接resize,不裁剪,并保持纵横比。
        返回
        具有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_)
        解析一个 4D 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)
        为以 Protocol Buffer 格式存储的二进制网络创建文本表示。
        参数
        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 - 应用 Soft 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 - 应用 Soft 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 - 应用 Soft 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 插件。