Matlab保存double图像,解决imwrite与imshow不一致的问题

通常情况下,我们输入的图像是 unit8 格式,而 Matlab 为了提高运算时的精度,都会把图像转为 double 类型。

但是我们在使用 imwrite 保存图像时,如果直接使用 double 类型,会导致图像变成二值图像。而且此时使用 imshow 查看的话,显示出来的图像还是正常的。

为了解决这个问题,需要对double图像进行归一化:

Orimax = max(max(img));
Orimin = min(min(img));
saveImg = img./(Orimax-Orimin+eps);

其中 img 为输入图像,saveImg 为输出图像,归一化之后再保存saveImg就正常了,亲测有效。

  • 4
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
### 回答1: 在MATLAB中加载遥感图像有多种方法。 一种常用的方法是使用imread函数加载图像。该函数可以直接读取各种格式的图像文件,包括常见的遥感图像格式,如TIFF、JPEG等。例如,要加载名为"image.tif"的遥感图像,可以使用以下命令: image = imread('image.tif'); 加载后,图像数据会存储在名为image的多维矩阵中,可以对该矩阵进行后续的处理和分析。 另一种方法是使用geotiffread函数加载地理空间参考的遥感图像。该函数可以读取包含地理坐标信息的图像文件。例如,要加载包含地理坐标信息的遥感图像文件"image.tif",可以使用以下命令: [image, R] = geotiffread('image.tif'); 其中,image是图像数据矩阵,R是一个地理参考对象,包含了地理坐标信息。通过R对象,可以获取图像的空间参考信息,如图像的坐标系、分辨率等。 此外,还可以使用其他专门针对遥感图像处理MATLAB工具箱,如Image Processing Toolbox和Mapping Toolbox。这些工具箱提供了更多的图像处理和地理空间分析功能,可以对加载的遥感图像进行更详细的处理和分析。 综上所述,MATLAB提供了多种方法来加载遥感图像,用户可以根据具体的需求选择合适的方法进行图像处理和分析。 ### 回答2: MATLAB是一种功能强大的科学计算软件,可以用于加载和处理遥感图像。下面是一个简单的步骤,以指导在MATLAB中加载遥感图像。 首先,确保遥感图像已经保存在计算机中。可以将图像保存为常见的图像格式(如.jpg、.png或.tif格式)。 接下来,在MATLAB命令窗口中输入以下代码,加载遥感图像: ```matlab image = imread('image_path'); % 替换image_path为图像的完整路径 ``` 这将使用imread函数加载图像,并将其赋值给变量image。 然后,可以使用imshow函数在MATLAB中显示加载的图像: ```matlab imshow(image); ``` 这将在新的窗口中显示图像。 此外,还可以使用MATLAB的其他图像处理函数对遥感图像进行处理和分析。例如,可以使用imresize函数调整图像大小、imadjust函数进行图像增强,或者使用im2double函数将图像转换为double类型。 最后,在完成遥感图像的处理后,可以使用imwrite函数将图像保存到计算机: ```matlab imwrite(image, 'output_image_path'); % 替换output_image_path为保存图像的路径和名称 ``` 这将把处理后的图像保存到指定的路径和名称。 综上所述,通过使用MATLABimread函数可以加载遥感图像,并通过其他图像处理函数进行进一步处理和分析。最后,使用imwrite函数可以将图像保存到计算机。 ### 回答3: 要在MATLAB中加载遥感图像,可以使用imread函数。imread函数可以加载JPEG、PNG、GIF、TIFF等常见的图片格式。首先,确保遥感图像文件已保存在计算机中。 使用imread函数来加载图像,语法如下: im = imread('图像文件路径'); 其中,'图像文件路径'是遥感图像文件的路径和文件名。 加载后的图像保存在一个矩阵变量im中。该矩阵中存储了图像的像素值信息,可以进行进一步的处理和分析。 例如,加载名为"remote_sensing_image.jpg"的遥感图像文件,可以使用以下代码: im = imread('remote_sensing_image.jpg'); 通过加载遥感图像MATLAB中,可以进行各种图像分析和处理操作,如图像增强、分类、目标检测等。MATLAB提供了许多有用的函数和工具箱,可以方便地进行遥感图像分析和处理。 加载后,可以显示图像,例如使用imshow函数: imshow(im) 此外,MATLAB还提供了其他处理遥感图像的函数,如imwrite函数可以用于将处理后的图像保存为新的文件,imadjust函数可以进行图像对比度和亮度的调整等。 综上所述,要在MATLAB中加载遥感图像,可以使用imread函数,加载后的图像可以进行各种处理和分析操作。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值