欢迎访问个人网络日志🌹🌹知行空间🌹🌹
1.blobFromImage
Mat cv::dnn::blobFromImage (
InputArray image,
double scalefactor = 1.0,
const Size & size = Size(),
const Scalar & mean = Scalar(),
bool swapRB = false,
bool crop = false,
int ddepth = CV_32F
)
OpenCV中的DNN模块包含blobFromImage方法对输入神经网络的图像进行处理,blobFromImage函数执行的操作及顺序为:
- 1.先相对于原图像中心resize,crop
- 2.再减均值
- 3.像素值缩放0-255 -> 0-1
- 4.图像数据通道转换,RGB->BGR
- 返回一个NCHW 数组
2.与torchvision对比
torchvision中可以使用transforms实现输入圣经网络图像数据的标准化,主要通过ToTensor和Normalize两个方法实现
ToTensor
- 输入为
unit8型的numpy数组或PIL.Image - 1.输入数据的
transpose,HWC->CHW - 2.将像素值范围从
0-255->0-1
Normalize
- 输入的标准化 x − m e a n s t d \frac{x-mean}{std}

本文详细介绍了OpenCV中的dnn.blobFromImage函数与Torchvision中的ToTensor和Normalize方法在图像预处理上的操作,包括尺寸调整、均值移除、像素值缩放和颜色通道转换。通过示例代码展示了两者等效的效果,为理解这两种库在神经网络输入图像处理上的差异提供了清晰的对比。
最低0.47元/天 解锁文章

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



