OpenCV3.x版本,增加了DNN模块,支持直接载入深度学习框架训练好的模型。如何往模型中传入数据,这就要查看blogFromImage()函数。

1. 背景知识:
为了从深度神经网络获取正确的预测,首先需要预处理数据。把图像数据处理为模型所需要的数据格式。这些预处理通常包括:
A. 均值减法(Mean Subtraction)。即整体像素减去平均值。
B. 缩放(Scaling)。通过缩放系数(scalefactor)对图像像素值进行缩放。
C. 把数据shape调整为模型需要的格式。
均值减法:
均值减法用来适应光照的变换(combat illumination changes)。因此,我们可以将均值减法视为一种协助卷积神经网络的技术。在开始训练我们自己的深度神经网络之前,需要计算我们要训练的图片中RGB三个通道的平均像素(average pixel)
2.具体使用:
Python:
cv.dnn.blobFromImage(image[, scalefactor[, size[, mean[, swapRB[, crop[, ddepth]]]]]]) ->retval
C++:
| Mat cv::dnn::blobFromImage | ( |

该博客介绍了在OpenCV3.x中使用DNN模块加载深度学习模型,并对图像进行预处理,包括均值减法、缩放和尺寸调整等步骤。`blobFromImage`函数用于创建神经网络所需的输入Blob,参数包括图像、尺寸、均值、缩放因子等。示例代码展示了如何读取模型并预处理图像,最后输出Blob的形状。
最低0.47元/天 解锁文章

被折叠的 条评论
为什么被折叠?



