将 uint8 灰度图像转换为浮点数以供学习

Change uint8 grayscale image to a floating point for learning

我的目标是制作一个 (1,250x250) 的向量用于在神经网络中学习。我正在将 250x250 jpg 图像转换为 matlab 中的灰度图像。结果是<250x250 uint8>。我的问题是如何将 uint8 向量转换为 float32?

要将 uint8 类型的数组转换为 32 位浮点数,您可以简单地执行以下操作:

for_learning = single( gray_imag );

for_learning 是单精度 250x250 图像,像素值在 [0..255] 范围内。如果你想让像素值的范围在区间[0..1],你只需要除以它

for_learning = single( gray_imag )/ 255.0;

有关详细信息,请参阅 single and double