类 Model
- java.lang.Object
-
- org.opencv.dnn.Model
-
- 直接已知子类
ClassificationModel
,DetectionModel
,KeypointsModel
,SegmentationModel
,TextDetectionModel
,TextRecognitionModel
public class Model extends java.lang.Object
此类提供了神经网络的高级 API。Model 允许设置预处理输入图像的参数。Model 从包含训练权重和配置的文件中创建网络,设置预处理输入并运行前向传递。
-
-
字段摘要
字段 修饰符和类型 字段 描述 protected long
nativeObj
-
方法摘要
所有方法 静态方法 实例方法 具体方法 修饰符和类型 方法 描述 static Model
__fromPtr__(long addr)
Model
enableWinograd(boolean useWinograd)
protected void
finalize()
long
getNativeObjAddr()
void
predict(Mat frame, java.util.List<Mat> outs)
给定input
帧,创建输入 blob,运行网络并返回输出blobs
。Model
setInputCrop(boolean crop)
设置帧的裁剪标志。Model
setInputMean(Scalar mean)
设置帧的均值。void
setInputParams()
设置帧的预处理参数。void
setInputParams(double scale)
设置帧的预处理参数。void
setInputParams(double scale, Size size)
设置帧的预处理参数。void
setInputParams(double scale, Size size, Scalar mean)
设置帧的预处理参数。void
setInputParams(double scale, Size size, Scalar mean, boolean swapRB)
设置帧的预处理参数。void
setInputParams(double scale, Size size, Scalar mean, boolean swapRB, boolean crop)
设置帧的预处理参数。Model
setInputScale(Scalar scale)
设置帧的缩放因子。Model
setInputSize(int width, int height)
Model
setInputSize(Size size)
设置帧的输入大小。Model
setInputSwapRB(boolean swapRB)
设置帧的 swapRB 标志。Model
setOutputNames(java.util.List<java.lang.String> outNames)
设置帧的输出名称。Model
setPreferableBackend(int backendId)
Model
setPreferableTarget(int targetId)
-
-
-
构造函数详情
-
Model
protected Model(long addr)
-
Model
public Model(java.lang.String model, java.lang.String config)
从以支持格式之一表示的深度学习网络创建模型。model
和config
参数的顺序无关紧要。- 参数
model
- 包含训练权重的二进制文件。config
- 包含网络配置的文本文件。
-
Model
public Model(java.lang.String model)
从以支持格式之一表示的深度学习网络创建模型。model
和config
参数的顺序无关紧要。- 参数
model
- 包含训练权重的二进制文件。
-
Model
public Model(Net network)
从深度学习网络创建模型。- 参数
network
- Net 对象。
-
-
方法详情
-
getNativeObjAddr
public long getNativeObjAddr()
-
__fromPtr__
public static Model __fromPtr__(long addr)
-
setInputSize
public Model setInputSize(Size size)
设置帧的输入大小。- 参数
size
- 新的输入大小。**注意:**如果新 blob 的形状小于 0,则帧大小不会改变。- 返回
- 自动生成
-
setInputSize
public Model setInputSize(int width, int height)
- 参数
width
- 新的输入宽度。height
- 新的输入高度。- 返回
- 自动生成
-
setInputCrop
public Model setInputCrop(boolean crop)
设置帧的裁剪标志。- 参数
crop
- 指示是否在调整大小后裁剪图像的标志。- 返回
- 自动生成
-
setInputSwapRB
public Model setInputSwapRB(boolean swapRB)
设置帧的 swapRB 标志。- 参数
swapRB
- 指示是否交换第一个和最后一个通道的标志。- 返回
- 自动生成
-
setOutputNames
public Model setOutputNames(java.util.List<java.lang.String> outNames)
设置帧的输出名称。- 参数
outNames
- 输出层的名称。- 返回
- 自动生成
-
setInputParams
public void setInputParams(double scale, Size size, Scalar mean, boolean swapRB, boolean crop)
设置帧的预处理参数。- 参数
size
- 新的输入大小。mean
- 包含从通道中减去的均值的标量。scale
- 帧值的乘数。swapRB
- 指示是否交换第一个和最后一个通道的标志。crop
- 指示是否在调整大小后裁剪图像的标志。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)
设置帧的预处理参数。- 参数
size
- 新的输入大小。mean
- 包含从通道中减去的均值的标量。scale
- 帧值的乘数。swapRB
- 指示是否交换第一个和最后一个通道的标志。blob(n, c, y, x) = scale * resize( frame(y, x, c) ) - mean(c) )
-
setInputParams
public void setInputParams(double scale, Size size, Scalar mean)
设置帧的预处理参数。- 参数
size
- 新的输入大小。mean
- 包含从通道中减去的均值的标量。scale
- 帧值的乘数。blob(n, c, y, x) = scale * resize( frame(y, x, c) ) - mean(c) )
-
setInputParams
public void setInputParams(double scale, Size size)
设置帧的预处理参数。- 参数
size
- 新的输入大小。scale
- 帧值的乘数。blob(n, c, y, x) = scale * resize( frame(y, x, c) ) - mean(c) )
-
setInputParams
public void setInputParams(double scale)
设置帧的预处理参数。- 参数
scale
- 帧值的乘数。blob(n, c, y, x) = scale * resize( frame(y, x, c) ) - mean(c) )
-
setInputParams
public void setInputParams()
设置帧的预处理参数。blob(n, c, y, x) = scale * resize( frame(y, x, c) ) - mean(c) )
-
predict
public void predict(Mat frame, java.util.List<Mat> outs)
给定input
帧,创建输入 blob,运行网络并返回输出blobs
。- 参数
outs
- 分配的输出 blob,将存储计算结果。frame
- 自动生成
-
setPreferableBackend
public Model setPreferableBackend(int backendId)
-
setPreferableTarget
public Model setPreferableTarget(int targetId)
-
enableWinograd
public Model enableWinograd(boolean useWinograd)
-
finalize
protected void finalize() throws java.lang.Throwable
- 覆盖
finalize
在类java.lang.Object
中- 抛出
java.lang.Throwable
-
-