如何绘制海岸一个图像

33视图(30天)
莱昂内尔·迪特
莱昂内尔·迪特 2017年4月27日
评论道: Abdollah Darya2021年8月8日
你好,
这是我的问题:
我得到了一个图像隔10980 * 10980(从sentinel-2 jp2)。展示英国的一部分(西南)。有土地,水和云。
首先,我显示图像从RGB到黑与白。现在我试图找到海岸(和土地)来创建一个面具在黑与白的形象。
这是我的问题:我怎么能这样做呢?
我已经使用m_map工具箱(免费使用和映射工具箱很遗憾我不能去)。我使用了m_gshhs(全分辨率)在我感兴趣的地区。现在,我正在找“密谋”面具从m_gshhs到我的形象。我的问题是,m_gshhs不要给任何矩阵(所以没有图片)这意味着我不能“比较”。
编辑: 我只找到一种方法与m_gshhs (m_map)和我的坐标。但是我不能从这个函数得到一个矩阵。所以我试图“阴谋”georefenced电网目前我的照片。
EDIT2: 目前我的形象给了我一个矩阵的强度。我有左上角的纬度/经度和底部角落。我用的是墨卡托表示。当我使用m_map工具箱我得到了一个白色的照片。有办法把long. /纬度。我的数据和绘制在地图上所有的吗?这是目前我所:
%图,
m_proj (“墨卡托”,“朗”[b],“纬度”[c d])%,a, b, c和d是我的坐标(long. / lat)。
图像([b], [c d],烟草制品;%我试图修复图像的坐标
m_grid;%让一个网格,只是让我的形象消失了……
我知道这是一个georeference问题,但我不知道如何处理…怎么能说matlab Img的点(1,- 1)提到lat1 / long1吗?
如果有人有什么想法看. .谢谢你!
莱昂内尔·迪特

接受的答案

莱昂内尔·迪特
莱昂内尔·迪特 2017年5月3日
好的我明白了我自己!我只是忘了从lat. /长。x / y……
这里是一些代码如果有人有相同的麻烦:
LowLong =一个%的经度值最低
LowLat = B%纬度的最低价值
UpLong = C%的经度值最高
UpLat = D%的纬度最高的价值
img_long = [LowLong UpLong];
img_lat = [UpLat LowLat];
我= imread (“路径”);%阅读图像使用你的路径
m_proj (“墨卡托”,“经度”,(LowLong UpLong),“纬度”,(LowLat UpLat]);
持有%指定你想要的投影(这里是墨卡托)
(X, Y) = m_ll2xy (img_long img_lat);%分配长/纬度的行/列矩阵
clf;
图像([X]、[Y] I1,“CDataMapping”,“缩放”);
集(gca),“ydir”,“正常”);
m_grid (“tickdir”,“出”,“linewi”2,“字形大小”14);%绘制地理网格
m_gshhs_f (“补丁”[0.3 0.7 0.5]);%补丁海岸(使土地出现)与不同的分辨率(f =, h =高,i =中间,c =购买)
[data0, long0 lat0] = m_etopo2 ([Longb Longh Latb板条]);
testBath = data0 > 0;
威尼斯平底渔船= fl_getBathy (5 50 long0、lat0 testBath)%返回0,如果海1土地
1评论
圣地亚哥ancapichun
圣地亚哥ancapichun 2018年9月20日
谢谢你分享这个解决方案。我花1天,现在2点我终于找到答案来完成我的人物:“(X, Y) = m_ll2xy (img_long img_lat);%分配长/ lat矩阵的行/列clf;图像([X]、[Y] I1,“CDataMapping”,“缩放”);“泰又非常!

登录置评。

答案(1)

抢时正和妹妹詹娜维埃拉
对于这样的一个形象 例子 使用显示亮度图像创建简单如下:
负载海岸线
图(1);
朗,显示亮度图像(“xdata”“ydata”, (lat), cdata, var1);
线(coastlon coastlat)
1评论
Abdollah Darya
Abdollah Darya 2021年8月8日
你是一个救星。一直在寻找这个问题的答案。感谢。

登录置评。

社区寻宝

找到宝藏在MATLAB中央,发现社区如何帮助你!

开始狩猎!