24小时热门版块排行榜    

CyRhmU.jpeg
查看: 3068  |  回复: 29

1987勇往直前

新虫 (小有名气)

引用回帖:
19楼: Originally posted by weiyinan at 2014-10-12 16:25:54
我用这个算了,会出现这个:Warning: Divide by zero,得到的图像是一幅全黑的图。但是用ENVI计算出来的结果却不是这样。我想知道原因,是不是因为我是读图以后,直接计算,没有对数据进行什么处理啊?...

首先,你先确定下你读出来的数据,各个波段是正常的矩阵,是有值的,变量查看那块点开看就行;然后,看看你的数据类型,是不是float型,如果是整型的有可能保留为0;再然后,如果是矩阵的除法,应该加个点,比如band1./band2,希望可以帮到你,有问题再交流
21楼2014-10-13 10:16:42
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

weiyinan

新虫 (初入文坛)

引用回帖:
21楼: Originally posted by 1987勇往直前 at 2014-10-13 10:16:42
首先,你先确定下你读出来的数据,各个波段是正常的矩阵,是有值的,变量查看那块点开看就行;然后,看看你的数据类型,是不是float型,如果是整型的有可能保留为0;再然后,如果是矩阵的除法,应该加个点,比如ba ...

我是新手,有很多地方不懂。我是这样操作的:
>> a=imread('D:\B3.tif');
>> b=imread('D:\B4.tif');
>> a1=imcrop(a,[3000 3000 200 200]);
>> b1=imcrop(b,[3000 3000 200 200]);
>> NDVI=(b1-a1)./(b1+a1);
>> imshow(NDVI)
由于图像太大,我对图像进行了裁剪。数据不是float型,是uint8型,最后的图像任然是一幅全黑色的图。这个操作过程没有错吧?还用是不是因为数据类型的问题才导致这个结果?
22楼2014-10-13 19:20:35
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

weiyinan

新虫 (初入文坛)

我今天对之前的两幅图做了减法,结果是全黑的图,说明两幅图是一样的吧?然后我有换了两幅图,用了相同的方法,把数据格式换了,操作是这样的:
>> a1=imread('D:\3B3.tif');
>> b1=imread('D:\4B4.tif');
>> a2=imcrop(a1,[3704 5119 200 200]);
>> b2=imcrop(b1,[3704 5119 200 200]);
>> a=im2double(a2);
>> b=im2double(b2);
>> NDVI=(b-a)./(b+a);
>> imshow(NDVI)

得到了图像。应该是NDVI的图像了吧,和ENVI做出来的NDVI进行了比较,还有点小差距。

总算是求出来了,谢谢你了。非常感谢。有问题还会请教你的。
23楼2014-10-14 09:56:56
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

1987勇往直前

新虫 (小有名气)

引用回帖:
23楼: Originally posted by weiyinan at 2014-10-14 09:56:56
我今天对之前的两幅图做了减法,结果是全黑的图,说明两幅图是一样的吧?然后我有换了两幅图,用了相同的方法,把数据格式换了,操作是这样的:
>> a1=imread('D:\3B3.tif');
>> b1=imread('D:\4B4.t ...

不必客气,我也不专业,互相学习撒~
24楼2014-10-14 20:37:51
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

weiyinan

新虫 (初入文坛)

有问题想请教:怎么用MATLAB读取hdf格式文件呢?我知道有hdftool,可以得到相关数据,然后怎么把数据呈现为图像呢?
25楼2014-10-23 08:15:26
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

1987勇往直前

新虫 (小有名气)

引用回帖:
25楼: Originally posted by weiyinan at 2014-10-23 08:15:26
有问题想请教:怎么用MATLAB读取hdf格式文件呢?我知道有hdftool,可以得到相关数据,然后怎么把数据呈现为图像呢?

我没直接读过hdf的,是之前网上下载过读envi标准格式的,就先envi转了,再这么读。你说的要直接读hdf的,百度一下,我试了,好几个看起来靠谱的答案,多试试
26楼2014-10-23 10:03:09
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

weiyinan

新虫 (初入文坛)

引用回帖:
26楼: Originally posted by 1987勇往直前 at 2014-10-23 10:03:09
我没直接读过hdf的,是之前网上下载过读envi标准格式的,就先envi转了,再这么读。你说的要直接读hdf的,百度一下,我试了,好几个看起来靠谱的答案,多试试...

恩恩,我自己再研究研究。谢谢
27楼2014-10-23 15:03:31
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

Shallow8

新虫 (初入文坛)

引用回帖:
6楼: Originally posted by 1987勇往直前 at 2012-12-06 14:14:12
ndvi.m(835B)
http://kuai.xunlei.com/d/GAOEXGTOIQZF?p=130497
      希望可以帮到有同样问题的筒子们

真心感谢楼主的帖子!正开始学用matlab批量作图,走了太多弯路,谢谢楼主
28楼2018-03-27 21:36:49
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

Shallow8

新虫 (初入文坛)

引用回帖:
6楼: Originally posted by 1987勇往直前 at 2012-12-06 14:14:12
ndvi.m(835B)
http://kuai.xunlei.com/d/GAOEXGTOIQZF?p=130497
      希望可以帮到有同样问题的筒子们

楼主如何查看你上传的数据啊?
29楼2018-03-27 21:47:50
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

1987勇往直前

新虫 (小有名气)

引用回帖:
29楼: Originally posted by Shallow8 at 2018-03-27 21:47:50
楼主如何查看你上传的数据啊?...

历时久远 我忘了问题是啥了 你再把你的问题详细说一下
30楼2018-03-28 09:44:07
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
相关版块跳转 我要订阅楼主 1987勇往直前 的主题更新
信息提示
请填处理意见