【问题标题】:Import Image to MATLAB from Screen Capture of Google Earth从 Google 地球的屏幕截图中将图像导入 MATLAB
【发布时间】:2012-09-04 03:23:33
【问题描述】:

在 MATLAB 中:

我正在应用屏幕截图来生成美国的图像

谷歌地球。但是,当我将图像读入 MATLAB 进行绘图时

图像上的数据变成全白——没有红色、绿色或蓝色。

注意:它确实可以正确显示而无需绘制任何其他数据

并使用 imshow。

我的代码是:

I = double(imread('USA.png'));
img = flipdim(I,1)
B = IMPRESIZE(img,[500,500],'nearest')
colormap HSV;
hold on;
....Plot Data....

有没有办法导入图像并在其上绘制散点数据?

【问题讨论】:

    标签: image matlab


    【解决方案1】:

    我相信您的问题来自于将您的图像转换为替身。

    当您的图像为 uint8 格式时,MATLAB 使用 0-255 作为色标范围。当您的图像为双精度格式时,MATLAB 使用 0-1 作为色标范围。因此,当您将图像转换为双倍时,MATLAB 使用后一个范围,这意味着 R、G 或 B 值大于 1 的任何颜色都会变为 1 用于显示目的(例如,基本上所有像素都显示为白色)

    简而言之,将您的第一行代码更改为(不强制转换)

    I = imread('USA.png');
    

    或者如果您必须将图像转换为双精度,您可以使用以下函数根据数据范围自动缩放色标

    imagesc(img)
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-07-31
      • 2017-10-07
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多