从Google Earth的屏幕截图中将图像导入MATLAB

时间:2012-09-04 03:23:33

标签: image matlab

在MATLAB中:

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

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

数据显示图像全白 - 没有红色,绿色或蓝色。

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

并使用imshow。

我的代码是:

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

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

1 个答案:

答案 0 :(得分:1)

我相信你的问题来自于将图像转换为双重图像。

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

简而言之,将您的第一行代码更改为(无投射)

I = imread('USA.png');

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

imagesc(img)