我目前正在使用 MATLAB 研究一些图像处理算法,它需要加载目录中的图像并将其转换为灰度。经过一些其他处理后,图像中的所有像素的值都是 0 或 255。然后我使用以下方法存储图像:
// temp is of type double
imwrite(temp,'FAST_tree_test_image_1_gray_matlab.jpg');
之后,我使用以下方法重新加载图像:
// image is not defined before hand; its automatically set to type UINT8
image = imread('FAST_tree_test_image_1_gray_matlab.jpg');
当我用变量编辑器查看图像的值时,值是不同的.. 几乎所有 255 个值都变成了 252,许多像素在存储图像之前是 0,变成了 2..
为什么会这样?是关于格式化的吗?我该如何解决这个问题?如果我必须在 Visual Studio 中使用 OpenCv 加载此图像,值将如何变化?