Package org.opencv.dnn
Class Dnn
- java.lang.Object
-
- org.opencv.dnn.Dnn
-
public class Dnn extends java.lang.Object
-
-
Field Summary
-
Constructor Summary
Constructors Constructor Description Dnn()
-
Method Summary
All Methods Static Methods Concrete Methods Deprecated Methods Modifier and Type Method Description static Mat
blobFromImage(Mat image)
Creates 4-dimensional blob from image.static Mat
blobFromImage(Mat image, double scalefactor)
Creates 4-dimensional blob from image.static Mat
blobFromImage(Mat image, double scalefactor, Size size)
Creates 4-dimensional blob from image.static Mat
blobFromImage(Mat image, double scalefactor, Size size, Scalar mean)
Creates 4-dimensional blob from image.static Mat
blobFromImage(Mat image, double scalefactor, Size size, Scalar mean, boolean swapRB)
Creates 4-dimensional blob from image.static Mat
blobFromImage(Mat image, double scalefactor, Size size, Scalar mean, boolean swapRB, boolean crop)
Creates 4-dimensional blob from image.static Mat
blobFromImage(Mat image, double scalefactor, Size size, Scalar mean, boolean swapRB, boolean crop, int ddepth)
Creates 4-dimensional blob from image.static Mat
blobFromImages(java.util.List<Mat> images)
Creates 4-dimensional blob from series of images.static Mat
blobFromImages(java.util.List<Mat> images, double scalefactor)
Creates 4-dimensional blob from series of images.static Mat
blobFromImages(java.util.List<Mat> images, double scalefactor, Size size)
Creates 4-dimensional blob from series of images.static Mat
blobFromImages(java.util.List<Mat> images, double scalefactor, Size size, Scalar mean)
Creates 4-dimensional blob from series of images.static Mat
blobFromImages(java.util.List<Mat> images, double scalefactor, Size size, Scalar mean, boolean swapRB)
Creates 4-dimensional blob from series of images.static Mat
blobFromImages(java.util.List<Mat> images, double scalefactor, Size size, Scalar mean, boolean swapRB, boolean crop)
Creates 4-dimensional blob from series of images.static Mat
blobFromImages(java.util.List<Mat> images, double scalefactor, Size size, Scalar mean, boolean swapRB, boolean crop, int ddepth)
Creates 4-dimensional blob from series of images.static Mat
blobFromImagesWithParams(java.util.List<Mat> images)
Creates 4-dimensional blob from series of images with given params.static void
blobFromImagesWithParams(java.util.List<Mat> images, Mat blob)
static void
blobFromImagesWithParams(java.util.List<Mat> images, Mat blob, Image2BlobParams param)
static Mat
blobFromImagesWithParams(java.util.List<Mat> images, Image2BlobParams param)
Creates 4-dimensional blob from series of images with given params.static Mat
blobFromImageWithParams(Mat image)
Creates 4-dimensional blob from image with given params.static void
blobFromImageWithParams(Mat image, Mat blob)
static void
blobFromImageWithParams(Mat image, Mat blob, Image2BlobParams param)
static Mat
blobFromImageWithParams(Mat image, Image2BlobParams param)
Creates 4-dimensional blob from image with given params.static java.util.List<java.lang.Integer>
getAvailableTargets(int be)
static java.lang.String
getInferenceEngineBackendType()
Deprecated.static java.lang.String
getInferenceEngineCPUType()
Returns Inference Engine CPU type.static java.lang.String
getInferenceEngineVPUType()
Returns Inference Engine VPU type.static void
imagesFromBlob(Mat blob_, java.util.List<Mat> images_)
Parse a 4D blob and output the images it contains as 2D arrays through a simpler data structure (std::vector<cv::Mat>).static void
NMSBoxes(MatOfRect2d bboxes, MatOfFloat scores, float score_threshold, float nms_threshold, MatOfInt indices)
Performs non maximum suppression given boxes and corresponding scores.static void
NMSBoxes(MatOfRect2d bboxes, MatOfFloat scores, float score_threshold, float nms_threshold, MatOfInt indices, float eta)
Performs non maximum suppression given boxes and corresponding scores.static void
NMSBoxes(MatOfRect2d bboxes, MatOfFloat scores, float score_threshold, float nms_threshold, MatOfInt indices, float eta, int top_k)
Performs non maximum suppression given boxes and corresponding scores.static void
NMSBoxesBatched(MatOfRect2d bboxes, MatOfFloat scores, MatOfInt class_ids, float score_threshold, float nms_threshold, MatOfInt indices)
Performs batched non maximum suppression on given boxes and corresponding scores across different classes.static void
NMSBoxesBatched(MatOfRect2d bboxes, MatOfFloat scores, MatOfInt class_ids, float score_threshold, float nms_threshold, MatOfInt indices, float eta)
Performs batched non maximum suppression on given boxes and corresponding scores across different classes.static void
NMSBoxesBatched(MatOfRect2d bboxes, MatOfFloat scores, MatOfInt class_ids, float score_threshold, float nms_threshold, MatOfInt indices, float eta, int top_k)
Performs batched non maximum suppression on given boxes and corresponding scores across different classes.static void
NMSBoxesRotated(MatOfRotatedRect bboxes, MatOfFloat scores, float score_threshold, float nms_threshold, MatOfInt indices)
static void
NMSBoxesRotated(MatOfRotatedRect bboxes, MatOfFloat scores, float score_threshold, float nms_threshold, MatOfInt indices, float eta)
static void
NMSBoxesRotated(MatOfRotatedRect bboxes, MatOfFloat scores, float score_threshold, float nms_threshold, MatOfInt indices, float eta, int top_k)
static Net
readNet(java.lang.String model)
Read deep learning network represented in one of the supported formats.static Net
readNet(java.lang.String model, java.lang.String config)
Read deep learning network represented in one of the supported formats.static Net
readNet(java.lang.String model, java.lang.String config, java.lang.String framework)
Read deep learning network represented in one of the supported formats.static Net
readNet(java.lang.String model, java.lang.String config, java.lang.String framework, int engine)
Read deep learning network represented in one of the supported formats.static Net
readNet(java.lang.String framework, MatOfByte bufferModel)
Read deep learning network represented in one of the supported formats.static Net
readNet(java.lang.String framework, MatOfByte bufferModel, MatOfByte bufferConfig)
Read deep learning network represented in one of the supported formats.static Net
readNet(java.lang.String framework, MatOfByte bufferModel, MatOfByte bufferConfig, int engine)
Read deep learning network represented in one of the supported formats.static Net
readNetFromCaffe(java.lang.String prototxt)
Reads a network model stored in <a href="http://caffe.berkeleyvision.org">Caffe</a> framework's format.static Net
readNetFromCaffe(java.lang.String prototxt, java.lang.String caffeModel)
Reads a network model stored in <a href="http://caffe.berkeleyvision.org">Caffe</a> framework's format.static Net
readNetFromCaffe(java.lang.String prototxt, java.lang.String caffeModel, int engine)
Reads a network model stored in <a href="http://caffe.berkeleyvision.org">Caffe</a> framework's format.static Net
readNetFromCaffe(MatOfByte bufferProto)
Reads a network model stored in Caffe model in memory.static Net
readNetFromCaffe(MatOfByte bufferProto, MatOfByte bufferModel)
Reads a network model stored in Caffe model in memory.static Net
readNetFromCaffe(MatOfByte bufferProto, MatOfByte bufferModel, int engine)
Reads a network model stored in Caffe model in memory.static Net
readNetFromDarknet(java.lang.String cfgFile)
Reads a network model stored in <a href="https://pjreddie.com/darknet/">Darknet</a> model files.static Net
readNetFromDarknet(java.lang.String cfgFile, java.lang.String darknetModel)
Reads a network model stored in <a href="https://pjreddie.com/darknet/">Darknet</a> model files.static Net
readNetFromDarknet(MatOfByte bufferCfg)
Reads a network model stored in <a href="https://pjreddie.com/darknet/">Darknet</a> model files.static Net
readNetFromDarknet(MatOfByte bufferCfg, MatOfByte bufferModel)
Reads a network model stored in <a href="https://pjreddie.com/darknet/">Darknet</a> model files.static Net
readNetFromModelOptimizer(java.lang.String xml)
Load a network from Intel's Model Optimizer intermediate representation.static Net
readNetFromModelOptimizer(java.lang.String xml, java.lang.String bin)
Load a network from Intel's Model Optimizer intermediate representation.static Net
readNetFromModelOptimizer(MatOfByte bufferModelConfig, MatOfByte bufferWeights)
Load a network from Intel's Model Optimizer intermediate representation.static Net
readNetFromONNX(java.lang.String onnxFile)
Reads a network model <a href="https://onnx.ai/">ONNX</a>.static Net
readNetFromONNX(java.lang.String onnxFile, int engine)
Reads a network model <a href="https://onnx.ai/">ONNX</a>.static Net
readNetFromONNX(MatOfByte buffer)
Reads a network model from <a href="https://onnx.ai/">ONNX</a> in-memory buffer.static Net
readNetFromONNX(MatOfByte buffer, int engine)
Reads a network model from <a href="https://onnx.ai/">ONNX</a> in-memory buffer.static Net
readNetFromTensorflow(java.lang.String model)
Reads a network model stored in <a href="https://www.tensorflow.org/">TensorFlow</a> framework's format.static Net
readNetFromTensorflow(java.lang.String model, java.lang.String config)
Reads a network model stored in <a href="https://www.tensorflow.org/">TensorFlow</a> framework's format.static Net
readNetFromTensorflow(java.lang.String model, java.lang.String config, int engine)
Reads a network model stored in <a href="https://www.tensorflow.org/">TensorFlow</a> framework's format.static Net
readNetFromTensorflow(java.lang.String model, java.lang.String config, int engine, java.util.List<java.lang.String> extraOutputs)
Reads a network model stored in <a href="https://www.tensorflow.org/">TensorFlow</a> framework's format.static Net
readNetFromTensorflow(MatOfByte bufferModel)
Reads a network model stored in <a href="https://www.tensorflow.org/">TensorFlow</a> framework's format.static Net
readNetFromTensorflow(MatOfByte bufferModel, MatOfByte bufferConfig)
Reads a network model stored in <a href="https://www.tensorflow.org/">TensorFlow</a> framework's format.static Net
readNetFromTensorflow(MatOfByte bufferModel, MatOfByte bufferConfig, int engine)
Reads a network model stored in <a href="https://www.tensorflow.org/">TensorFlow</a> framework's format.static Net
readNetFromTensorflow(MatOfByte bufferModel, MatOfByte bufferConfig, int engine, java.util.List<java.lang.String> extraOutputs)
Reads a network model stored in <a href="https://www.tensorflow.org/">TensorFlow</a> framework's format.static Net
readNetFromTFLite(java.lang.String model)
Reads a network model stored in <a href="https://www.tensorflow.org/lite">TFLite</a> framework's format.static Net
readNetFromTFLite(java.lang.String model, int engine)
Reads a network model stored in <a href="https://www.tensorflow.org/lite">TFLite</a> framework's format.static Net
readNetFromTFLite(MatOfByte bufferModel)
Reads a network model stored in <a href="https://www.tensorflow.org/lite">TFLite</a> framework's format.static Net
readNetFromTFLite(MatOfByte bufferModel, int engine)
Reads a network model stored in <a href="https://www.tensorflow.org/lite">TFLite</a> framework's format.static Mat
readTensorFromONNX(java.lang.String path)
Creates blob from .pb file.static void
releaseHDDLPlugin()
Release a HDDL plugin.static void
resetMyriadDevice()
Release a Myriad device (binded by OpenCV).static java.lang.String
setInferenceEngineBackendType(java.lang.String newBackendType)
Deprecated.static void
shrinkCaffeModel(java.lang.String src, java.lang.String dst)
Convert all weights of Caffe network to half precision floating point.static void
shrinkCaffeModel(java.lang.String src, java.lang.String dst, java.util.List<java.lang.String> layersTypes)
Convert all weights of Caffe network to half precision floating point.static void
softNMSBoxes(MatOfRect bboxes, MatOfFloat scores, MatOfFloat updated_scores, float score_threshold, float nms_threshold, MatOfInt indices)
Performs soft non maximum suppression given boxes and corresponding scores.static void
softNMSBoxes(MatOfRect bboxes, MatOfFloat scores, MatOfFloat updated_scores, float score_threshold, float nms_threshold, MatOfInt indices, long top_k)
Performs soft non maximum suppression given boxes and corresponding scores.static void
softNMSBoxes(MatOfRect bboxes, MatOfFloat scores, MatOfFloat updated_scores, float score_threshold, float nms_threshold, MatOfInt indices, long top_k, float sigma)
Performs soft non maximum suppression given boxes and corresponding scores.static void
writeTextGraph(java.lang.String model, java.lang.String output)
Create a text representation for a binary network stored in protocol buffer format.
-
-
-
Field Detail
-
DNN_ARG_EMPTY
public static final int DNN_ARG_EMPTY
- See Also:
- Constant Field Values
-
DNN_ARG_CONST
public static final int DNN_ARG_CONST
- See Also:
- Constant Field Values
-
DNN_ARG_INPUT
public static final int DNN_ARG_INPUT
- See Also:
- Constant Field Values
-
DNN_ARG_OUTPUT
public static final int DNN_ARG_OUTPUT
- See Also:
- Constant Field Values
-
DNN_ARG_TEMP
public static final int DNN_ARG_TEMP
- See Also:
- Constant Field Values
-
DNN_ARG_PATTERN
public static final int DNN_ARG_PATTERN
- See Also:
- Constant Field Values
-
DNN_BACKEND_DEFAULT
public static final int DNN_BACKEND_DEFAULT
- See Also:
- Constant Field Values
-
DNN_BACKEND_INFERENCE_ENGINE
public static final int DNN_BACKEND_INFERENCE_ENGINE
- See Also:
- Constant Field Values
-
DNN_BACKEND_OPENCV
public static final int DNN_BACKEND_OPENCV
- See Also:
- Constant Field Values
-
DNN_BACKEND_VKCOM
public static final int DNN_BACKEND_VKCOM
- See Also:
- Constant Field Values
-
DNN_BACKEND_CUDA
public static final int DNN_BACKEND_CUDA
- See Also:
- Constant Field Values
-
DNN_BACKEND_WEBNN
public static final int DNN_BACKEND_WEBNN
- See Also:
- Constant Field Values
-
DNN_BACKEND_TIMVX
public static final int DNN_BACKEND_TIMVX
- See Also:
- Constant Field Values
-
DNN_BACKEND_CANN
public static final int DNN_BACKEND_CANN
- See Also:
- Constant Field Values
-
ENGINE_CLASSIC
public static final int ENGINE_CLASSIC
- See Also:
- Constant Field Values
-
ENGINE_NEW
public static final int ENGINE_NEW
- See Also:
- Constant Field Values
-
ENGINE_AUTO
public static final int ENGINE_AUTO
- See Also:
- Constant Field Values
-
DNN_PMODE_NULL
public static final int DNN_PMODE_NULL
- See Also:
- Constant Field Values
-
DNN_PMODE_CROP_CENTER
public static final int DNN_PMODE_CROP_CENTER
- See Also:
- Constant Field Values
-
DNN_PMODE_LETTERBOX
public static final int DNN_PMODE_LETTERBOX
- See Also:
- Constant Field Values
-
DNN_MODEL_GENERIC
public static final int DNN_MODEL_GENERIC
- See Also:
- Constant Field Values
-
DNN_MODEL_ONNX
public static final int DNN_MODEL_ONNX
- See Also:
- Constant Field Values
-
DNN_MODEL_TF
public static final int DNN_MODEL_TF
- See Also:
- Constant Field Values
-
DNN_MODEL_TFLITE
public static final int DNN_MODEL_TFLITE
- See Also:
- Constant Field Values
-
DNN_MODEL_CAFFE
public static final int DNN_MODEL_CAFFE
- See Also:
- Constant Field Values
-
DNN_PROFILE_NONE
public static final int DNN_PROFILE_NONE
- See Also:
- Constant Field Values
-
DNN_PROFILE_SUMMARY
public static final int DNN_PROFILE_SUMMARY
- See Also:
- Constant Field Values
-
DNN_PROFILE_DETAILED
public static final int DNN_PROFILE_DETAILED
- See Also:
- Constant Field Values
-
SoftNMSMethod_SOFTNMS_LINEAR
public static final int SoftNMSMethod_SOFTNMS_LINEAR
- See Also:
- Constant Field Values
-
SoftNMSMethod_SOFTNMS_GAUSSIAN
public static final int SoftNMSMethod_SOFTNMS_GAUSSIAN
- See Also:
- Constant Field Values
-
DNN_TARGET_CPU
public static final int DNN_TARGET_CPU
- See Also:
- Constant Field Values
-
DNN_TARGET_OPENCL
public static final int DNN_TARGET_OPENCL
- See Also:
- Constant Field Values
-
DNN_TARGET_OPENCL_FP16
public static final int DNN_TARGET_OPENCL_FP16
- See Also:
- Constant Field Values
-
DNN_TARGET_MYRIAD
public static final int DNN_TARGET_MYRIAD
- See Also:
- Constant Field Values
-
DNN_TARGET_VULKAN
public static final int DNN_TARGET_VULKAN
- See Also:
- Constant Field Values
-
DNN_TARGET_FPGA
public static final int DNN_TARGET_FPGA
- See Also:
- Constant Field Values
-
DNN_TARGET_CUDA
public static final int DNN_TARGET_CUDA
- See Also:
- Constant Field Values
-
DNN_TARGET_CUDA_FP16
public static final int DNN_TARGET_CUDA_FP16
- See Also:
- Constant Field Values
-
DNN_TARGET_HDDL
public static final int DNN_TARGET_HDDL
- See Also:
- Constant Field Values
-
DNN_TARGET_NPU
public static final int DNN_TARGET_NPU
- See Also:
- Constant Field Values
-
DNN_TARGET_CPU_FP16
public static final int DNN_TARGET_CPU_FP16
- See Also:
- Constant Field Values
-
DNN_TRACE_NONE
public static final int DNN_TRACE_NONE
- See Also:
- Constant Field Values
-
DNN_TRACE_ALL
public static final int DNN_TRACE_ALL
- See Also:
- Constant Field Values
-
DNN_TRACE_OP
public static final int DNN_TRACE_OP
- See Also:
- Constant Field Values
-
-
Method Detail
-
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)
Reads a network model stored in <a href="https://pjreddie.com/darknet/">Darknet</a> model files.- Parameters:
cfgFile
- path to the .cfg file with text description of the network architecture.darknetModel
- path to the .weights file with learned network.- Returns:
- Network object that ready to do forward, throw an exception in failure cases.
-
readNetFromDarknet
public static Net readNetFromDarknet(java.lang.String cfgFile)
Reads a network model stored in <a href="https://pjreddie.com/darknet/">Darknet</a> model files.- Parameters:
cfgFile
- path to the .cfg file with text description of the network architecture.- Returns:
- Network object that ready to do forward, throw an exception in failure cases.
-
readNetFromDarknet
public static Net readNetFromDarknet(MatOfByte bufferCfg, MatOfByte bufferModel)
Reads a network model stored in <a href="https://pjreddie.com/darknet/">Darknet</a> model files.- Parameters:
bufferCfg
- A buffer contains a content of .cfg file with text description of the network architecture.bufferModel
- A buffer contains a content of .weights file with learned network.- Returns:
- Net object.
-
readNetFromDarknet
public static Net readNetFromDarknet(MatOfByte bufferCfg)
Reads a network model stored in <a href="https://pjreddie.com/darknet/">Darknet</a> model files.- Parameters:
bufferCfg
- A buffer contains a content of .cfg file with text description of the network architecture.- Returns:
- Net object.
-
readNetFromCaffe
public static Net readNetFromCaffe(java.lang.String prototxt, java.lang.String caffeModel, int engine)
Reads a network model stored in <a href="http://caffe.berkeleyvision.org">Caffe</a> framework's format.- Parameters:
prototxt
- path to the .prototxt file with text description of the network architecture.caffeModel
- path to the .caffemodel file with learned network.engine
- select DNN engine to be used. With auto selection the new engine is used. Please pay attention that the new DNN does not support non-CPU back-ends for now.- Returns:
- Net object.
-
readNetFromCaffe
public static Net readNetFromCaffe(java.lang.String prototxt, java.lang.String caffeModel)
Reads a network model stored in <a href="http://caffe.berkeleyvision.org">Caffe</a> framework's format.- Parameters:
prototxt
- path to the .prototxt file with text description of the network architecture.caffeModel
- path to the .caffemodel file with learned network. Please pay attention that the new DNN does not support non-CPU back-ends for now.- Returns:
- Net object.
-
readNetFromCaffe
public static Net readNetFromCaffe(java.lang.String prototxt)
Reads a network model stored in <a href="http://caffe.berkeleyvision.org">Caffe</a> framework's format.- Parameters:
prototxt
- path to the .prototxt file with text description of the network architecture. Please pay attention that the new DNN does not support non-CPU back-ends for now.- Returns:
- Net object.
-
readNetFromCaffe
public static Net readNetFromCaffe(MatOfByte bufferProto, MatOfByte bufferModel, int engine)
Reads a network model stored in Caffe model in memory.- Parameters:
bufferProto
- buffer containing the content of the .prototxt filebufferModel
- buffer containing the content of the .caffemodel fileengine
- select DNN engine to be used. With auto selection the new engine is used. Please pay attention that the new DNN does not support non-CPU back-ends for now.- Returns:
- Net object.
-
readNetFromCaffe
public static Net readNetFromCaffe(MatOfByte bufferProto, MatOfByte bufferModel)
Reads a network model stored in Caffe model in memory.- Parameters:
bufferProto
- buffer containing the content of the .prototxt filebufferModel
- buffer containing the content of the .caffemodel file Please pay attention that the new DNN does not support non-CPU back-ends for now.- Returns:
- Net object.
-
readNetFromCaffe
public static Net readNetFromCaffe(MatOfByte bufferProto)
Reads a network model stored in Caffe model in memory.- Parameters:
bufferProto
- buffer containing the content of the .prototxt file Please pay attention that the new DNN does not support non-CPU back-ends for now.- Returns:
- Net object.
-
readNetFromTensorflow
public static Net readNetFromTensorflow(java.lang.String model, java.lang.String config, int engine, java.util.List<java.lang.String> extraOutputs)
Reads a network model stored in <a href="https://www.tensorflow.org/">TensorFlow</a> framework's format.- Parameters:
model
- path to the .pb file with binary protobuf description of the network architectureconfig
- path to the .pbtxt file that contains text graph definition in protobuf format. Resulting Net object is built by text graph using weights from a binary one that let us make it more flexible.engine
- select DNN engine to be used. With auto selection the new engine is used.extraOutputs
- specify model outputs explicitly, in addition to the outputs the graph analyzer finds. Please pay attention that the new DNN does not support non-CPU back-ends for now.- Returns:
- Net object.
-
readNetFromTensorflow
public static Net readNetFromTensorflow(java.lang.String model, java.lang.String config, int engine)
Reads a network model stored in <a href="https://www.tensorflow.org/">TensorFlow</a> framework's format.- Parameters:
model
- path to the .pb file with binary protobuf description of the network architectureconfig
- path to the .pbtxt file that contains text graph definition in protobuf format. Resulting Net object is built by text graph using weights from a binary one that let us make it more flexible.engine
- select DNN engine to be used. With auto selection the new engine is used. Please pay attention that the new DNN does not support non-CPU back-ends for now.- Returns:
- Net object.
-
readNetFromTensorflow
public static Net readNetFromTensorflow(java.lang.String model, java.lang.String config)
Reads a network model stored in <a href="https://www.tensorflow.org/">TensorFlow</a> framework's format.- Parameters:
model
- path to the .pb file with binary protobuf description of the network architectureconfig
- path to the .pbtxt file that contains text graph definition in protobuf format. Resulting Net object is built by text graph using weights from a binary one that let us make it more flexible. Please pay attention that the new DNN does not support non-CPU back-ends for now.- Returns:
- Net object.
-
readNetFromTensorflow
public static Net readNetFromTensorflow(java.lang.String model)
Reads a network model stored in <a href="https://www.tensorflow.org/">TensorFlow</a> framework's format.- Parameters:
model
- path to the .pb file with binary protobuf description of the network architecture Resulting Net object is built by text graph using weights from a binary one that let us make it more flexible. Please pay attention that the new DNN does not support non-CPU back-ends for now.- Returns:
- Net object.
-
readNetFromTensorflow
public static Net readNetFromTensorflow(MatOfByte bufferModel, MatOfByte bufferConfig, int engine, java.util.List<java.lang.String> extraOutputs)
Reads a network model stored in <a href="https://www.tensorflow.org/">TensorFlow</a> framework's format.- Parameters:
bufferModel
- buffer containing the content of the pb filebufferConfig
- buffer containing the content of the pbtxt fileengine
- select DNN engine to be used. With auto selection the new engine is used.extraOutputs
- specify model outputs explicitly, in addition to the outputs the graph analyzer finds. Please pay attention that the new DNN does not support non-CPU back-ends for now.- Returns:
- Net object.
-
readNetFromTensorflow
public static Net readNetFromTensorflow(MatOfByte bufferModel, MatOfByte bufferConfig, int engine)
Reads a network model stored in <a href="https://www.tensorflow.org/">TensorFlow</a> framework's format.- Parameters:
bufferModel
- buffer containing the content of the pb filebufferConfig
- buffer containing the content of the pbtxt fileengine
- select DNN engine to be used. With auto selection the new engine is used. Please pay attention that the new DNN does not support non-CPU back-ends for now.- Returns:
- Net object.
-
readNetFromTensorflow
public static Net readNetFromTensorflow(MatOfByte bufferModel, MatOfByte bufferConfig)
Reads a network model stored in <a href="https://www.tensorflow.org/">TensorFlow</a> framework's format.- Parameters:
bufferModel
- buffer containing the content of the pb filebufferConfig
- buffer containing the content of the pbtxt file Please pay attention that the new DNN does not support non-CPU back-ends for now.- Returns:
- Net object.
-
readNetFromTensorflow
public static Net readNetFromTensorflow(MatOfByte bufferModel)
Reads a network model stored in <a href="https://www.tensorflow.org/">TensorFlow</a> framework's format.- Parameters:
bufferModel
- buffer containing the content of the pb file Please pay attention that the new DNN does not support non-CPU back-ends for now.- Returns:
- Net object.
-
readNetFromTFLite
public static Net readNetFromTFLite(java.lang.String model, int engine)
Reads a network model stored in <a href="https://www.tensorflow.org/lite">TFLite</a> framework's format.- Parameters:
model
- path to the .tflite file with binary flatbuffers description of the network architectureengine
- select DNN engine to be used. With auto selection the new engine is used first and falls back to classic. Please pay attention that the new DNN does not support non-CPU back-ends for now.- Returns:
- Net object.
-
readNetFromTFLite
public static Net readNetFromTFLite(java.lang.String model)
Reads a network model stored in <a href="https://www.tensorflow.org/lite">TFLite</a> framework's format.- Parameters:
model
- path to the .tflite file with binary flatbuffers description of the network architecture Please pay attention that the new DNN does not support non-CPU back-ends for now.- Returns:
- Net object.
-
readNetFromTFLite
public static Net readNetFromTFLite(MatOfByte bufferModel, int engine)
Reads a network model stored in <a href="https://www.tensorflow.org/lite">TFLite</a> framework's format.- Parameters:
bufferModel
- buffer containing the content of the tflite fileengine
- select DNN engine to be used. With auto selection the new engine is used first and falls back to classic. Please pay attention that the new DNN does not support non-CPU back-ends for now.- Returns:
- Net object.
-
readNetFromTFLite
public static Net readNetFromTFLite(MatOfByte bufferModel)
Reads a network model stored in <a href="https://www.tensorflow.org/lite">TFLite</a> framework's format.- Parameters:
bufferModel
- buffer containing the content of the tflite file Please pay attention that the new DNN does not support non-CPU back-ends for now.- Returns:
- Net object.
-
readNet
public static Net readNet(java.lang.String model, java.lang.String config, java.lang.String framework, int engine)
Read deep learning network represented in one of the supported formats.- Parameters:
model
- Binary file contains trained weights. The following file extensions are expected for models from different frameworks: **.caffemodel
(Caffe, http://caffe.berkeleyvision.org/) **.pb
(TensorFlow, https://www.tensorflow.org/) **.weights
(Darknet, https://pjreddie.com/darknet/) **.bin
|*.onnx
(OpenVINO, https://software.intel.com/openvino-toolkit) **.onnx
(ONNX, https://onnx.ai/)config
- Text file contains network configuration. It could be a file with the following extensions: **.prototxt
(Caffe, http://caffe.berkeleyvision.org/) **.pbtxt
(TensorFlow, https://www.tensorflow.org/) **.cfg
(Darknet, https://pjreddie.com/darknet/) **.xml
(OpenVINO, https://software.intel.com/openvino-toolkit)framework
- Explicit framework name tag to determine a format.engine
- select DNN engine to be used. With auto selection the new engine is used first and falls back to classic. Please pay attention that the new DNN does not support non-CPU back-ends for now. Use ENGINE_CLASSIC if you want to use other back-ends.- Returns:
- Net object.
This function automatically detects an origin framework of trained model
and calls an appropriate function such REF: readNetFromCaffe, REF: readNetFromTensorflow
or REF: readNetFromDarknet. An order of
model
andconfig
arguments does not matter.
-
readNet
public static Net readNet(java.lang.String model, java.lang.String config, java.lang.String framework)
Read deep learning network represented in one of the supported formats.- Parameters:
model
- Binary file contains trained weights. The following file extensions are expected for models from different frameworks: **.caffemodel
(Caffe, http://caffe.berkeleyvision.org/) **.pb
(TensorFlow, https://www.tensorflow.org/) **.weights
(Darknet, https://pjreddie.com/darknet/) **.bin
|*.onnx
(OpenVINO, https://software.intel.com/openvino-toolkit) **.onnx
(ONNX, https://onnx.ai/)config
- Text file contains network configuration. It could be a file with the following extensions: **.prototxt
(Caffe, http://caffe.berkeleyvision.org/) **.pbtxt
(TensorFlow, https://www.tensorflow.org/) **.cfg
(Darknet, https://pjreddie.com/darknet/) **.xml
(OpenVINO, https://software.intel.com/openvino-toolkit)framework
- Explicit framework name tag to determine a format. Please pay attention that the new DNN does not support non-CPU back-ends for now. Use ENGINE_CLASSIC if you want to use other back-ends.- Returns:
- Net object.
This function automatically detects an origin framework of trained model
and calls an appropriate function such REF: readNetFromCaffe, REF: readNetFromTensorflow
or REF: readNetFromDarknet. An order of
model
andconfig
arguments does not matter.
-
readNet
public static Net readNet(java.lang.String model, java.lang.String config)
Read deep learning network represented in one of the supported formats.- Parameters:
model
- Binary file contains trained weights. The following file extensions are expected for models from different frameworks: **.caffemodel
(Caffe, http://caffe.berkeleyvision.org/) **.pb
(TensorFlow, https://www.tensorflow.org/) **.weights
(Darknet, https://pjreddie.com/darknet/) **.bin
|*.onnx
(OpenVINO, https://software.intel.com/openvino-toolkit) **.onnx
(ONNX, https://onnx.ai/)config
- Text file contains network configuration. It could be a file with the following extensions: **.prototxt
(Caffe, http://caffe.berkeleyvision.org/) **.pbtxt
(TensorFlow, https://www.tensorflow.org/) **.cfg
(Darknet, https://pjreddie.com/darknet/) **.xml
(OpenVINO, https://software.intel.com/openvino-toolkit) Please pay attention that the new DNN does not support non-CPU back-ends for now. Use ENGINE_CLASSIC if you want to use other back-ends.- Returns:
- Net object.
This function automatically detects an origin framework of trained model
and calls an appropriate function such REF: readNetFromCaffe, REF: readNetFromTensorflow
or REF: readNetFromDarknet. An order of
model
andconfig
arguments does not matter.
-
readNet
public static Net readNet(java.lang.String model)
Read deep learning network represented in one of the supported formats.- Parameters:
model
- Binary file contains trained weights. The following file extensions are expected for models from different frameworks: **.caffemodel
(Caffe, http://caffe.berkeleyvision.org/) **.pb
(TensorFlow, https://www.tensorflow.org/) **.weights
(Darknet, https://pjreddie.com/darknet/) **.bin
|*.onnx
(OpenVINO, https://software.intel.com/openvino-toolkit) **.onnx
(ONNX, https://onnx.ai/) file with the following extensions: **.prototxt
(Caffe, http://caffe.berkeleyvision.org/) **.pbtxt
(TensorFlow, https://www.tensorflow.org/) **.cfg
(Darknet, https://pjreddie.com/darknet/) **.xml
(OpenVINO, https://software.intel.com/openvino-toolkit) Please pay attention that the new DNN does not support non-CPU back-ends for now. Use ENGINE_CLASSIC if you want to use other back-ends.- Returns:
- Net object.
This function automatically detects an origin framework of trained model
and calls an appropriate function such REF: readNetFromCaffe, REF: readNetFromTensorflow
or REF: readNetFromDarknet. An order of
model
andconfig
arguments does not matter.
-
readNet
public static Net readNet(java.lang.String framework, MatOfByte bufferModel, MatOfByte bufferConfig, int engine)
Read deep learning network represented in one of the supported formats. This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.- Parameters:
framework
- Name of origin framework.bufferModel
- A buffer with a content of binary file with weightsbufferConfig
- A buffer with a content of text file contains network configuration.engine
- select DNN engine to be used. With auto selection the new engine is used first and falls back to classic. Please pay attention that the new DNN does not support non-CPU back-ends for now. Use ENGINE_CLASSIC if you want to use other back-ends.- Returns:
- Net object.
-
readNet
public static Net readNet(java.lang.String framework, MatOfByte bufferModel, MatOfByte bufferConfig)
Read deep learning network represented in one of the supported formats. This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.- Parameters:
framework
- Name of origin framework.bufferModel
- A buffer with a content of binary file with weightsbufferConfig
- A buffer with a content of text file contains network configuration. Please pay attention that the new DNN does not support non-CPU back-ends for now. Use ENGINE_CLASSIC if you want to use other back-ends.- Returns:
- Net object.
-
readNet
public static Net readNet(java.lang.String framework, MatOfByte bufferModel)
Read deep learning network represented in one of the supported formats. This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.- Parameters:
framework
- Name of origin framework.bufferModel
- A buffer with a content of binary file with weights Please pay attention that the new DNN does not support non-CPU back-ends for now. Use ENGINE_CLASSIC if you want to use other back-ends.- Returns:
- Net object.
-
readNetFromModelOptimizer
public static Net readNetFromModelOptimizer(java.lang.String xml, java.lang.String bin)
Load a network from Intel's Model Optimizer intermediate representation.- Parameters:
xml
- XML configuration file with network's topology.bin
- Binary file with trained weights.- Returns:
- Net object. Networks imported from Intel's Model Optimizer are launched in Intel's Inference Engine backend.
-
readNetFromModelOptimizer
public static Net readNetFromModelOptimizer(java.lang.String xml)
Load a network from Intel's Model Optimizer intermediate representation.- Parameters:
xml
- XML configuration file with network's topology.- Returns:
- Net object. Networks imported from Intel's Model Optimizer are launched in Intel's Inference Engine backend.
-
readNetFromModelOptimizer
public static Net readNetFromModelOptimizer(MatOfByte bufferModelConfig, MatOfByte bufferWeights)
Load a network from Intel's Model Optimizer intermediate representation.- Parameters:
bufferModelConfig
- Buffer contains XML configuration with network's topology.bufferWeights
- Buffer contains binary data with trained weights.- Returns:
- Net object. Networks imported from Intel's Model Optimizer are launched in Intel's Inference Engine backend.
-
readNetFromONNX
public static Net readNetFromONNX(java.lang.String onnxFile, int engine)
Reads a network model <a href="https://onnx.ai/">ONNX</a>.- Parameters:
onnxFile
- path to the .onnx file with text description of the network architecture.engine
- select DNN engine to be used. With auto selection the new engine is used first and falls back to classic. Please pay attention that the new DNN does not support non-CPU back-ends for now.- Returns:
- Network object that ready to do forward, throw an exception in failure cases.
-
readNetFromONNX
public static Net readNetFromONNX(java.lang.String onnxFile)
Reads a network model <a href="https://onnx.ai/">ONNX</a>.- Parameters:
onnxFile
- path to the .onnx file with text description of the network architecture. Please pay attention that the new DNN does not support non-CPU back-ends for now.- Returns:
- Network object that ready to do forward, throw an exception in failure cases.
-
readNetFromONNX
public static Net readNetFromONNX(MatOfByte buffer, int engine)
Reads a network model from <a href="https://onnx.ai/">ONNX</a> in-memory buffer.- Parameters:
buffer
- in-memory buffer that stores the ONNX model bytes.engine
- select DNN engine to be used. With auto selection the new engine is used first and falls back to classic. Please pay attention that the new DNN does not support non-CPU back-ends for now.- Returns:
- Network object that ready to do forward, throw an exception in failure cases.
-
readNetFromONNX
public static Net readNetFromONNX(MatOfByte buffer)
Reads a network model from <a href="https://onnx.ai/">ONNX</a> in-memory buffer.- Parameters:
buffer
- in-memory buffer that stores the ONNX model bytes. Please pay attention that the new DNN does not support non-CPU back-ends for now.- Returns:
- Network object that ready to do forward, throw an exception in failure cases.
-
readTensorFromONNX
public static Mat readTensorFromONNX(java.lang.String path)
Creates blob from .pb file.- Parameters:
path
- to the .pb file with input tensor.- Returns:
- Mat.
-
blobFromImage
public static Mat blobFromImage(Mat image, double scalefactor, Size size, Scalar mean, boolean swapRB, boolean crop, int ddepth)
Creates 4-dimensional blob from image. Optionally resizes and cropsimage
from center, subtractmean
values, scales values byscalefactor
, swap Blue and Red channels.- Parameters:
image
- input image (with 1-, 3- or 4-channels).scalefactor
- multiplier forimages
values.size
- spatial size for output imagemean
- scalar with mean values which are subtracted from channels. Values are intended to be in (mean-R, mean-G, mean-B) order ifimage
has BGR ordering andswapRB
is true.swapRB
- flag which indicates that swap first and last channels in 3-channel image is necessary.crop
- flag which indicates whether image will be cropped after resize or notddepth
- Depth of output blob. Choose CV_32F or CV_8U. ifcrop
is true, input image is resized so one side after resize is equal to corresponding dimension insize
and another one is equal or larger. Then, crop from the center is performed. Ifcrop
is false, direct resize without cropping and preserving aspect ratio is performed.- Returns:
- 4-dimensional Mat with NCHW dimensions order.
Note:
The order and usage of
scalefactor
andmean
are (input - mean) * scalefactor.
-
blobFromImage
public static Mat blobFromImage(Mat image, double scalefactor, Size size, Scalar mean, boolean swapRB, boolean crop)
Creates 4-dimensional blob from image. Optionally resizes and cropsimage
from center, subtractmean
values, scales values byscalefactor
, swap Blue and Red channels.- Parameters:
image
- input image (with 1-, 3- or 4-channels).scalefactor
- multiplier forimages
values.size
- spatial size for output imagemean
- scalar with mean values which are subtracted from channels. Values are intended to be in (mean-R, mean-G, mean-B) order ifimage
has BGR ordering andswapRB
is true.swapRB
- flag which indicates that swap first and last channels in 3-channel image is necessary.crop
- flag which indicates whether image will be cropped after resize or not ifcrop
is true, input image is resized so one side after resize is equal to corresponding dimension insize
and another one is equal or larger. Then, crop from the center is performed. Ifcrop
is false, direct resize without cropping and preserving aspect ratio is performed.- Returns:
- 4-dimensional Mat with NCHW dimensions order.
Note:
The order and usage of
scalefactor
andmean
are (input - mean) * scalefactor.
-
blobFromImage
public static Mat blobFromImage(Mat image, double scalefactor, Size size, Scalar mean, boolean swapRB)
Creates 4-dimensional blob from image. Optionally resizes and cropsimage
from center, subtractmean
values, scales values byscalefactor
, swap Blue and Red channels.- Parameters:
image
- input image (with 1-, 3- or 4-channels).scalefactor
- multiplier forimages
values.size
- spatial size for output imagemean
- scalar with mean values which are subtracted from channels. Values are intended to be in (mean-R, mean-G, mean-B) order ifimage
has BGR ordering andswapRB
is true.swapRB
- flag which indicates that swap first and last channels in 3-channel image is necessary. ifcrop
is true, input image is resized so one side after resize is equal to corresponding dimension insize
and another one is equal or larger. Then, crop from the center is performed. Ifcrop
is false, direct resize without cropping and preserving aspect ratio is performed.- Returns:
- 4-dimensional Mat with NCHW dimensions order.
Note:
The order and usage of
scalefactor
andmean
are (input - mean) * scalefactor.
-
blobFromImage
public static Mat blobFromImage(Mat image, double scalefactor, Size size, Scalar mean)
Creates 4-dimensional blob from image. Optionally resizes and cropsimage
from center, subtractmean
values, scales values byscalefactor
, swap Blue and Red channels.- Parameters:
image
- input image (with 1-, 3- or 4-channels).scalefactor
- multiplier forimages
values.size
- spatial size for output imagemean
- scalar with mean values which are subtracted from channels. Values are intended to be in (mean-R, mean-G, mean-B) order ifimage
has BGR ordering andswapRB
is true. in 3-channel image is necessary. ifcrop
is true, input image is resized so one side after resize is equal to corresponding dimension insize
and another one is equal or larger. Then, crop from the center is performed. Ifcrop
is false, direct resize without cropping and preserving aspect ratio is performed.- Returns:
- 4-dimensional Mat with NCHW dimensions order.
Note:
The order and usage of
scalefactor
andmean
are (input - mean) * scalefactor.
-
blobFromImage
public static Mat blobFromImage(Mat image, double scalefactor, Size size)
Creates 4-dimensional blob from image. Optionally resizes and cropsimage
from center, subtractmean
values, scales values byscalefactor
, swap Blue and Red channels.- Parameters:
image
- input image (with 1-, 3- or 4-channels).scalefactor
- multiplier forimages
values.size
- spatial size for output image to be in (mean-R, mean-G, mean-B) order ifimage
has BGR ordering andswapRB
is true. in 3-channel image is necessary. ifcrop
is true, input image is resized so one side after resize is equal to corresponding dimension insize
and another one is equal or larger. Then, crop from the center is performed. Ifcrop
is false, direct resize without cropping and preserving aspect ratio is performed.- Returns:
- 4-dimensional Mat with NCHW dimensions order.
Note:
The order and usage of
scalefactor
andmean
are (input - mean) * scalefactor.
-
blobFromImage
public static Mat blobFromImage(Mat image, double scalefactor)
Creates 4-dimensional blob from image. Optionally resizes and cropsimage
from center, subtractmean
values, scales values byscalefactor
, swap Blue and Red channels.- Parameters:
image
- input image (with 1-, 3- or 4-channels).scalefactor
- multiplier forimages
values. to be in (mean-R, mean-G, mean-B) order ifimage
has BGR ordering andswapRB
is true. in 3-channel image is necessary. ifcrop
is true, input image is resized so one side after resize is equal to corresponding dimension insize
and another one is equal or larger. Then, crop from the center is performed. Ifcrop
is false, direct resize without cropping and preserving aspect ratio is performed.- Returns:
- 4-dimensional Mat with NCHW dimensions order.
Note:
The order and usage of
scalefactor
andmean
are (input - mean) * scalefactor.
-
blobFromImage
public static Mat blobFromImage(Mat image)
Creates 4-dimensional blob from image. Optionally resizes and cropsimage
from center, subtractmean
values, scales values byscalefactor
, swap Blue and Red channels.- Parameters:
image
- input image (with 1-, 3- or 4-channels). to be in (mean-R, mean-G, mean-B) order ifimage
has BGR ordering andswapRB
is true. in 3-channel image is necessary. ifcrop
is true, input image is resized so one side after resize is equal to corresponding dimension insize
and another one is equal or larger. Then, crop from the center is performed. Ifcrop
is false, direct resize without cropping and preserving aspect ratio is performed.- Returns:
- 4-dimensional Mat with NCHW dimensions order.
Note:
The order and usage of
scalefactor
andmean
are (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)
Creates 4-dimensional blob from series of images. Optionally resizes and cropsimages
from center, subtractmean
values, scales values byscalefactor
, swap Blue and Red channels.- Parameters:
images
- input images (all with 1-, 3- or 4-channels).size
- spatial size for output imagemean
- scalar with mean values which are subtracted from channels. Values are intended to be in (mean-R, mean-G, mean-B) order ifimage
has BGR ordering andswapRB
is true.scalefactor
- multiplier forimages
values.swapRB
- flag which indicates that swap first and last channels in 3-channel image is necessary.crop
- flag which indicates whether image will be cropped after resize or notddepth
- Depth of output blob. Choose CV_32F or CV_8U. ifcrop
is true, input image is resized so one side after resize is equal to corresponding dimension insize
and another one is equal or larger. Then, crop from the center is performed. Ifcrop
is false, direct resize without cropping and preserving aspect ratio is performed.- Returns:
- 4-dimensional Mat with NCHW dimensions order.
Note:
The order and usage of
scalefactor
andmean
are (input - mean) * scalefactor.
-
blobFromImages
public static Mat blobFromImages(java.util.List<Mat> images, double scalefactor, Size size, Scalar mean, boolean swapRB, boolean crop)
Creates 4-dimensional blob from series of images. Optionally resizes and cropsimages
from center, subtractmean
values, scales values byscalefactor
, swap Blue and Red channels.- Parameters:
images
- input images (all with 1-, 3- or 4-channels).size
- spatial size for output imagemean
- scalar with mean values which are subtracted from channels. Values are intended to be in (mean-R, mean-G, mean-B) order ifimage
has BGR ordering andswapRB
is true.scalefactor
- multiplier forimages
values.swapRB
- flag which indicates that swap first and last channels in 3-channel image is necessary.crop
- flag which indicates whether image will be cropped after resize or not ifcrop
is true, input image is resized so one side after resize is equal to corresponding dimension insize
and another one is equal or larger. Then, crop from the center is performed. Ifcrop
is false, direct resize without cropping and preserving aspect ratio is performed.- Returns:
- 4-dimensional Mat with NCHW dimensions order.
Note:
The order and usage of
scalefactor
andmean
are (input - mean) * scalefactor.
-
blobFromImages
public static Mat blobFromImages(java.util.List<Mat> images, double scalefactor, Size size, Scalar mean, boolean swapRB)
Creates 4-dimensional blob from series of images. Optionally resizes and cropsimages
from center, subtractmean
values, scales values byscalefactor
, swap Blue and Red channels.- Parameters:
images
- input images (all with 1-, 3- or 4-channels).size
- spatial size for output imagemean
- scalar with mean values which are subtracted from channels. Values are intended to be in (mean-R, mean-G, mean-B) order ifimage
has BGR ordering andswapRB
is true.scalefactor
- multiplier forimages
values.swapRB
- flag which indicates that swap first and last channels in 3-channel image is necessary. ifcrop
is true, input image is resized so one side after resize is equal to corresponding dimension insize
and another one is equal or larger. Then, crop from the center is performed. Ifcrop
is false, direct resize without cropping and preserving aspect ratio is performed.- Returns:
- 4-dimensional Mat with NCHW dimensions order.
Note:
The order and usage of
scalefactor
andmean
are (input - mean) * scalefactor.
-
blobFromImages
public static Mat blobFromImages(java.util.List<Mat> images, double scalefactor, Size size, Scalar mean)
Creates 4-dimensional blob from series of images. Optionally resizes and cropsimages
from center, subtractmean
values, scales values byscalefactor
, swap Blue and Red channels.- Parameters:
images
- input images (all with 1-, 3- or 4-channels).size
- spatial size for output imagemean
- scalar with mean values which are subtracted from channels. Values are intended to be in (mean-R, mean-G, mean-B) order ifimage
has BGR ordering andswapRB
is true.scalefactor
- multiplier forimages
values. in 3-channel image is necessary. ifcrop
is true, input image is resized so one side after resize is equal to corresponding dimension insize
and another one is equal or larger. Then, crop from the center is performed. Ifcrop
is false, direct resize without cropping and preserving aspect ratio is performed.- Returns:
- 4-dimensional Mat with NCHW dimensions order.
Note:
The order and usage of
scalefactor
andmean
are (input - mean) * scalefactor.
-
blobFromImages
public static Mat blobFromImages(java.util.List<Mat> images, double scalefactor, Size size)
Creates 4-dimensional blob from series of images. Optionally resizes and cropsimages
from center, subtractmean
values, scales values byscalefactor
, swap Blue and Red channels.- Parameters:
images
- input images (all with 1-, 3- or 4-channels).size
- spatial size for output image to be in (mean-R, mean-G, mean-B) order ifimage
has BGR ordering andswapRB
is true.scalefactor
- multiplier forimages
values. in 3-channel image is necessary. ifcrop
is true, input image is resized so one side after resize is equal to corresponding dimension insize
and another one is equal or larger. Then, crop from the center is performed. Ifcrop
is false, direct resize without cropping and preserving aspect ratio is performed.- Returns:
- 4-dimensional Mat with NCHW dimensions order.
Note:
The order and usage of
scalefactor
andmean
are (input - mean) * scalefactor.
-
blobFromImages
public static Mat blobFromImages(java.util.List<Mat> images, double scalefactor)
Creates 4-dimensional blob from series of images. Optionally resizes and cropsimages
from center, subtractmean
values, scales values byscalefactor
, swap Blue and Red channels.- Parameters:
images
- input images (all with 1-, 3- or 4-channels). to be in (mean-R, mean-G, mean-B) order ifimage
has BGR ordering andswapRB
is true.scalefactor
- multiplier forimages
values. in 3-channel image is necessary. ifcrop
is true, input image is resized so one side after resize is equal to corresponding dimension insize
and another one is equal or larger. Then, crop from the center is performed. Ifcrop
is false, direct resize without cropping and preserving aspect ratio is performed.- Returns:
- 4-dimensional Mat with NCHW dimensions order.
Note:
The order and usage of
scalefactor
andmean
are (input - mean) * scalefactor.
-
blobFromImages
public static Mat blobFromImages(java.util.List<Mat> images)
Creates 4-dimensional blob from series of images. Optionally resizes and cropsimages
from center, subtractmean
values, scales values byscalefactor
, swap Blue and Red channels.- Parameters:
images
- input images (all with 1-, 3- or 4-channels). to be in (mean-R, mean-G, mean-B) order ifimage
has BGR ordering andswapRB
is true. in 3-channel image is necessary. ifcrop
is true, input image is resized so one side after resize is equal to corresponding dimension insize
and another one is equal or larger. Then, crop from the center is performed. Ifcrop
is false, direct resize without cropping and preserving aspect ratio is performed.- Returns:
- 4-dimensional Mat with NCHW dimensions order.
Note:
The order and usage of
scalefactor
andmean
are (input - mean) * scalefactor.
-
blobFromImageWithParams
public static Mat blobFromImageWithParams(Mat image, Image2BlobParams param)
Creates 4-dimensional blob from image with given params. This function is an extension of REF: blobFromImage to meet more image preprocess needs. Given input image and preprocessing parameters, and function outputs the blob.- Parameters:
image
- input image (all with 1-, 3- or 4-channels).param
- struct of Image2BlobParams, contains all parameters needed by processing of image to blob.- Returns:
- 4-dimensional Mat.
-
blobFromImageWithParams
public static Mat blobFromImageWithParams(Mat image)
Creates 4-dimensional blob from image with given params. This function is an extension of REF: blobFromImage to meet more image preprocess needs. Given input image and preprocessing parameters, and function outputs the blob.- Parameters:
image
- input image (all with 1-, 3- or 4-channels).- Returns:
- 4-dimensional Mat.
-
blobFromImageWithParams
public static void blobFromImageWithParams(Mat image, Mat blob, Image2BlobParams param)
-
blobFromImagesWithParams
public static Mat blobFromImagesWithParams(java.util.List<Mat> images, Image2BlobParams param)
Creates 4-dimensional blob from series of images with given params. This function is an extension of REF: blobFromImages to meet more image preprocess needs. Given input image and preprocessing parameters, and function outputs the blob.- Parameters:
images
- input image (all with 1-, 3- or 4-channels).param
- struct of Image2BlobParams, contains all parameters needed by processing of image to blob.- Returns:
- 4-dimensional Mat.
-
blobFromImagesWithParams
public static Mat blobFromImagesWithParams(java.util.List<Mat> images)
Creates 4-dimensional blob from series of images with given params. This function is an extension of REF: blobFromImages to meet more image preprocess needs. Given input image and preprocessing parameters, and function outputs the blob.- Parameters:
images
- input image (all with 1-, 3- or 4-channels).- Returns:
- 4-dimensional 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_)
Parse a 4D blob and output the images it contains as 2D arrays through a simpler data structure (std::vector<cv::Mat>).- Parameters:
blob_
- 4 dimensional array (images, channels, height, width) in floating point precision (CV_32F) from which you would like to extract the images.images_
- array of 2D Mat containing the images extracted from the blob in floating point precision (CV_32F). They are non normalized neither mean added. The number of returned images equals the first dimension of the blob (batch size). Every image has a number of channels equals to the second dimension of the blob (depth).
-
shrinkCaffeModel
public static void shrinkCaffeModel(java.lang.String src, java.lang.String dst, java.util.List<java.lang.String> layersTypes)
Convert all weights of Caffe network to half precision floating point.- Parameters:
src
- Path to origin model from Caffe framework contains single precision floating point weights (usually has.caffemodel
extension).dst
- Path to destination model with updated weights.layersTypes
- Set of layers types which parameters will be converted. By default, converts only Convolutional and Fully-Connected layers' weights. Note: Shrinked model has no origin float32 weights so it can't be used in origin Caffe framework anymore. However the structure of data is taken from NVidia's Caffe fork: https://github.com/NVIDIA/caffe. So the resulting model may be used there.
-
shrinkCaffeModel
public static void shrinkCaffeModel(java.lang.String src, java.lang.String dst)
Convert all weights of Caffe network to half precision floating point.- Parameters:
src
- Path to origin model from Caffe framework contains single precision floating point weights (usually has.caffemodel
extension).dst
- Path to destination model with updated weights. By default, converts only Convolutional and Fully-Connected layers' weights. Note: Shrinked model has no origin float32 weights so it can't be used in origin Caffe framework anymore. However the structure of data is taken from NVidia's Caffe fork: https://github.com/NVIDIA/caffe. So the resulting model may be used there.
-
writeTextGraph
public static void writeTextGraph(java.lang.String model, java.lang.String output)
Create a text representation for a binary network stored in protocol buffer format.- Parameters:
model
- A path to binary network.output
- A path to output text file to be created. Note: To reduce output file size, trained weights are not included.
-
NMSBoxes
public static void NMSBoxes(MatOfRect2d bboxes, MatOfFloat scores, float score_threshold, float nms_threshold, MatOfInt indices, float eta, int top_k)
Performs non maximum suppression given boxes and corresponding scores.- Parameters:
bboxes
- a set of bounding boxes to apply NMS.scores
- a set of corresponding confidences.score_threshold
- a threshold used to filter boxes by score.nms_threshold
- a threshold used in non maximum suppression.indices
- the kept indices of bboxes after NMS.eta
- a coefficient in adaptive threshold formula: \(nms\_threshold_{i+1}=eta\cdot nms\_threshold_i\).top_k
- if>0
, keep at mosttop_k
picked indices.
-
NMSBoxes
public static void NMSBoxes(MatOfRect2d bboxes, MatOfFloat scores, float score_threshold, float nms_threshold, MatOfInt indices, float eta)
Performs non maximum suppression given boxes and corresponding scores.- Parameters:
bboxes
- a set of bounding boxes to apply NMS.scores
- a set of corresponding confidences.score_threshold
- a threshold used to filter boxes by score.nms_threshold
- a threshold used in non maximum suppression.indices
- the kept indices of bboxes after NMS.eta
- a coefficient in adaptive threshold formula: \(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)
Performs non maximum suppression given boxes and corresponding scores.- Parameters:
bboxes
- a set of bounding boxes to apply NMS.scores
- a set of corresponding confidences.score_threshold
- a threshold used to filter boxes by score.nms_threshold
- a threshold used in non maximum suppression.indices
- the kept indices of bboxes after 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)
-
NMSBoxesRotated
public static void NMSBoxesRotated(MatOfRotatedRect bboxes, MatOfFloat scores, float score_threshold, float nms_threshold, MatOfInt indices)
-
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)
Performs batched non maximum suppression on given boxes and corresponding scores across different classes.- Parameters:
bboxes
- a set of bounding boxes to apply NMS.scores
- a set of corresponding confidences.class_ids
- a set of corresponding class ids. Ids are integer and usually start from 0.score_threshold
- a threshold used to filter boxes by score.nms_threshold
- a threshold used in non maximum suppression.indices
- the kept indices of bboxes after NMS.eta
- a coefficient in adaptive threshold formula: \(nms\_threshold_{i+1}=eta\cdot nms\_threshold_i\).top_k
- if>0
, keep at mosttop_k
picked indices.
-
NMSBoxesBatched
public static void NMSBoxesBatched(MatOfRect2d bboxes, MatOfFloat scores, MatOfInt class_ids, float score_threshold, float nms_threshold, MatOfInt indices, float eta)
Performs batched non maximum suppression on given boxes and corresponding scores across different classes.- Parameters:
bboxes
- a set of bounding boxes to apply NMS.scores
- a set of corresponding confidences.class_ids
- a set of corresponding class ids. Ids are integer and usually start from 0.score_threshold
- a threshold used to filter boxes by score.nms_threshold
- a threshold used in non maximum suppression.indices
- the kept indices of bboxes after NMS.eta
- a coefficient in adaptive threshold formula: \(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)
Performs batched non maximum suppression on given boxes and corresponding scores across different classes.- Parameters:
bboxes
- a set of bounding boxes to apply NMS.scores
- a set of corresponding confidences.class_ids
- a set of corresponding class ids. Ids are integer and usually start from 0.score_threshold
- a threshold used to filter boxes by score.nms_threshold
- a threshold used in non maximum suppression.indices
- the kept indices of bboxes after 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)
Performs soft non maximum suppression given boxes and corresponding scores. Reference: https://arxiv.org/abs/1704.04503- Parameters:
bboxes
- a set of bounding boxes to apply Soft NMS.scores
- a set of corresponding confidences.updated_scores
- a set of corresponding updated confidences.score_threshold
- a threshold used to filter boxes by score.nms_threshold
- a threshold used in non maximum suppression.indices
- the kept indices of bboxes after NMS.top_k
- keep at mosttop_k
picked indices.sigma
- parameter of Gaussian weighting. SEE: SoftNMSMethod
-
softNMSBoxes
public static void softNMSBoxes(MatOfRect bboxes, MatOfFloat scores, MatOfFloat updated_scores, float score_threshold, float nms_threshold, MatOfInt indices, long top_k)
Performs soft non maximum suppression given boxes and corresponding scores. Reference: https://arxiv.org/abs/1704.04503- Parameters:
bboxes
- a set of bounding boxes to apply Soft NMS.scores
- a set of corresponding confidences.updated_scores
- a set of corresponding updated confidences.score_threshold
- a threshold used to filter boxes by score.nms_threshold
- a threshold used in non maximum suppression.indices
- the kept indices of bboxes after NMS.top_k
- keep at mosttop_k
picked indices. SEE: SoftNMSMethod
-
softNMSBoxes
public static void softNMSBoxes(MatOfRect bboxes, MatOfFloat scores, MatOfFloat updated_scores, float score_threshold, float nms_threshold, MatOfInt indices)
Performs soft non maximum suppression given boxes and corresponding scores. Reference: https://arxiv.org/abs/1704.04503- Parameters:
bboxes
- a set of bounding boxes to apply Soft NMS.scores
- a set of corresponding confidences.updated_scores
- a set of corresponding updated confidences.score_threshold
- a threshold used to filter boxes by score.nms_threshold
- a threshold used in non maximum suppression.indices
- the kept indices of bboxes after NMS. SEE: SoftNMSMethod
-
getInferenceEngineBackendType
@Deprecated public static java.lang.String getInferenceEngineBackendType()
Deprecated.Returns Inference Engine internal backend API. See values ofCV_DNN_BACKEND_INFERENCE_ENGINE_*
macros.OPENCV_DNN_BACKEND_INFERENCE_ENGINE_TYPE
runtime parameter (environment variable) is ignored since 4.6.0.- Returns:
- automatically generated
-
setInferenceEngineBackendType
@Deprecated public static java.lang.String setInferenceEngineBackendType(java.lang.String newBackendType)
Deprecated.Specify Inference Engine internal backend API. See values ofCV_DNN_BACKEND_INFERENCE_ENGINE_*
macros.- Parameters:
newBackendType
- automatically generated- Returns:
- previous value of internal backend API
-
resetMyriadDevice
public static void resetMyriadDevice()
Release a Myriad device (binded by OpenCV). Single Myriad device cannot be shared across multiple processes which uses Inference Engine's Myriad plugin.
-
getInferenceEngineVPUType
public static java.lang.String getInferenceEngineVPUType()
Returns Inference Engine VPU type. See values ofCV_DNN_INFERENCE_ENGINE_VPU_TYPE_*
macros.- Returns:
- automatically generated
-
getInferenceEngineCPUType
public static java.lang.String getInferenceEngineCPUType()
Returns Inference Engine CPU type. Specify OpenVINO plugin: CPU or ARM.- Returns:
- automatically generated
-
releaseHDDLPlugin
public static void releaseHDDLPlugin()
Release a HDDL plugin.
-
-