Package org.opencv.dnn
Class Model
- java.lang.Object
-
- org.opencv.dnn.Net
-
- org.opencv.dnn.Model
-
- Direct Known Subclasses:
ClassificationModel
,DetectionModel
,KeypointsModel
,SegmentationModel
public class Model extends Net
This class is presented high-level API for neural networks. Model allows to set params for preprocessing input image. Model creates net from file with trained weights and config, sets preprocessing input and runs forward pass.
-
-
Constructor Summary
Constructors Modifier Constructor Description protected
Model(long addr)
Model(java.lang.String model)
Create model from deep learning network represented in one of the supported formats.Model(java.lang.String model, java.lang.String config)
Create model from deep learning network represented in one of the supported formats.Model(Net network)
Create model from deep learning network.
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description static Model
__fromPtr__(long addr)
protected void
finalize()
void
predict(Mat frame, java.util.List<Mat> outs)
Given theinput
frame, create input blob, run net and return the outputblobs
.Model
setInputCrop(boolean crop)
Set flag crop for frame.Model
setInputMean(Scalar mean)
Set mean value for frame.void
setInputParams()
Set preprocessing parameters for frame.void
setInputParams(double scale)
Set preprocessing parameters for frame.void
setInputParams(double scale, Size size)
Set preprocessing parameters for frame.void
setInputParams(double scale, Size size, Scalar mean)
Set preprocessing parameters for frame.void
setInputParams(double scale, Size size, Scalar mean, boolean swapRB)
Set preprocessing parameters for frame.void
setInputParams(double scale, Size size, Scalar mean, boolean swapRB, boolean crop)
Set preprocessing parameters for frame.Model
setInputScale(double scale)
Set scalefactor value for frame.Model
setInputSize(int width, int height)
Set input size for frame.Model
setInputSize(Size size)
Set input size for frame.Model
setInputSwapRB(boolean swapRB)
Set flag swapRB for frame.-
Methods inherited from class org.opencv.dnn.Net
connect, dump, dumpToFile, empty, enableFusion, forward, forward, forward, forward, forward, getFLOPS, getFLOPS, getFLOPS, getFLOPS, getLayer, getLayerId, getLayerNames, getLayersCount, getLayerTypes, getMemoryConsumption, getMemoryConsumption, getMemoryConsumption, getNativeObjAddr, getParam, getParam, getPerfProfile, getUnconnectedOutLayers, getUnconnectedOutLayersNames, readFromModelOptimizer, readFromModelOptimizer, setHalideScheduler, setInput, setInput, setInput, setInput, setInputsNames, setParam, setPreferableBackend, setPreferableTarget
-
-
-
-
Constructor Detail
-
Model
protected Model(long addr)
-
Model
public Model(Net network)
Create model from deep learning network.- Parameters:
network
- Net object.
-
Model
public Model(java.lang.String model, java.lang.String config)
Create model from deep learning network represented in one of the supported formats. An order ofmodel
andconfig
arguments does not matter.- Parameters:
model
- Binary file contains trained weights.config
- Text file contains network configuration.
-
Model
public Model(java.lang.String model)
Create model from deep learning network represented in one of the supported formats. An order ofmodel
andconfig
arguments does not matter.- Parameters:
model
- Binary file contains trained weights.
-
-
Method Detail
-
__fromPtr__
public static Model __fromPtr__(long addr)
-
setInputCrop
public Model setInputCrop(boolean crop)
Set flag crop for frame.- Parameters:
crop
- Flag which indicates whether image will be cropped after resize or not.- Returns:
- automatically generated
-
setInputMean
public Model setInputMean(Scalar mean)
Set mean value for frame.- Parameters:
mean
- Scalar with mean values which are subtracted from channels.- Returns:
- automatically generated
-
setInputScale
public Model setInputScale(double scale)
Set scalefactor value for frame.- Parameters:
scale
- Multiplier for frame values.- Returns:
- automatically generated
-
setInputSize
public Model setInputSize(Size size)
Set input size for frame.- Parameters:
size
- New input size. Note: If shape of the new blob less than 0, then frame size not change.- Returns:
- automatically generated
-
setInputSize
public Model setInputSize(int width, int height)
Set input size for frame.- Parameters:
width
- New input width.height
- New input height. Note: If shape of the new blob less than 0, then frame size not change.- Returns:
- automatically generated
-
setInputSwapRB
public Model setInputSwapRB(boolean swapRB)
Set flag swapRB for frame.- Parameters:
swapRB
- Flag which indicates that swap first and last channels.- Returns:
- automatically generated
-
predict
public void predict(Mat frame, java.util.List<Mat> outs)
Given theinput
frame, create input blob, run net and return the outputblobs
.- Parameters:
outs
- Allocated output blobs, which will store results of the computation.frame
- automatically generated
-
setInputParams
public void setInputParams(double scale, Size size, Scalar mean, boolean swapRB, boolean crop)
Set preprocessing parameters for frame.- Parameters:
size
- New input size.mean
- Scalar with mean values which are subtracted from channels.scale
- Multiplier for frame values.swapRB
- Flag which indicates that swap first and last channels.crop
- Flag which indicates whether image will be cropped after resize or not. blob(n, c, y, x) = scale * resize( frame(y, x, c) ) - mean(c) )
-
setInputParams
public void setInputParams(double scale, Size size, Scalar mean, boolean swapRB)
Set preprocessing parameters for frame.- Parameters:
size
- New input size.mean
- Scalar with mean values which are subtracted from channels.scale
- Multiplier for frame values.swapRB
- Flag which indicates that swap first and last channels. blob(n, c, y, x) = scale * resize( frame(y, x, c) ) - mean(c) )
-
setInputParams
public void setInputParams(double scale, Size size, Scalar mean)
Set preprocessing parameters for frame.- Parameters:
size
- New input size.mean
- Scalar with mean values which are subtracted from channels.scale
- Multiplier for frame values. blob(n, c, y, x) = scale * resize( frame(y, x, c) ) - mean(c) )
-
setInputParams
public void setInputParams(double scale, Size size)
Set preprocessing parameters for frame.- Parameters:
size
- New input size.scale
- Multiplier for frame values. blob(n, c, y, x) = scale * resize( frame(y, x, c) ) - mean(c) )
-
setInputParams
public void setInputParams(double scale)
Set preprocessing parameters for frame.- Parameters:
scale
- Multiplier for frame values. blob(n, c, y, x) = scale * resize( frame(y, x, c) ) - mean(c) )
-
setInputParams
public void setInputParams()
Set preprocessing parameters for frame. blob(n, c, y, x) = scale * resize( frame(y, x, c) ) - mean(c) )
-
-