1. clc;close all;clear;
  2. %地理坐标和像素坐标的相互转换
  3. [pic,R]=geotiffread('boston.tif'); %读取带地理坐标信息的tif影像
  4. [m,n,~]=size(pic);
  5.  
  6. %像素坐标转换为地理坐标
  7. figure(),imshow(pic),title('不带地理坐标的静态图片');
  8. hold on; scatter(n/,m/,,'r.'); %选择1/4处像素坐标,并在图上标示
  9. [lon,lat]=pix2map(R,m/,n/); %转换为地理坐标
  10. figure(),mapshow(pic,R);
  11. mapshow(lon,lat,'Marker','.','MarkerEdgeColor','r');
  12. title('带地理坐标的tif影像');
  13. axis off;
  14. %打印结果
  15. disp(['(',num2str(m/),',',num2str(n/),') -> (',num2str(lon),',',num2str(lat),')']);
  16.  
  17. %地理坐标转换为像素坐标。注意地理坐标从左下角开始,而像素坐标从左上角开始
  18. %左下角开始点地理坐标为[R.XLimWorld(),R.YLimWorld()]
  19. %R.RasterWidthInWorld表示图像的地理宽度
  20. x=R.XLimWorld()+(/)*R.RasterWidthInWorld; %获取图像3/4处的地理坐标
  21. y=R.YLimWorld()+(/)*R.RasterHeightInWorld;
  22. figure(),mapshow(pic,R),axis off;
  23. mapshow(x,y,'Marker','*','MarkerEdgeColor','r');
  24. [row,col]=map2pix(R,x,y);
  25. figure(),imshow(pic);
  26. hold on;
  27. scatter(col,row,,'r*');
  28. %命令行中打印结果
  29. disp(['(',num2str(x),',',num2str(y),') -> (',num2str(row),',',num2str(col),')']);

像素坐标转地理坐标:pix2map

地理坐标转像素坐标:map2pix

在matlab中进行地理坐标和像素坐标的相互转换的更多相关文章

  1. MATLAB 中几个颜色空间的坐标范围

    在一些图象处理的程序中,我们经常要在不同的颜色空间操作,而且经常要把各颜色空间的坐标转化到 [0,1] 之间,这就需要知道一些常用颜色空间的坐标范围. 虽然可以通过颜色空间转化的公式推导这些范围,但是 ...

  2. 在matlab中进行遥感影像地理坐标的相互转换

    在matlab中进行图像处理,一般使用的都是图像本地坐标,以左上角(1,1)开始.处理完成后,如果要将结果在带地理坐标的遥感影像中显示,或者需要输出成shp文件,就需要涉及到本地坐标和地理坐标的转换, ...

  3. MATLAB中求矩阵非零元的坐标

    MATLAB中求矩阵非零元的坐标: 方法1: index=find(a); [i,j]=ind2sub(size(a),index); disp([i,j]) 方法2: [i,j]=find(a> ...

  4. matlab中subplot 在平铺位置创建坐标区

    来源:https://ww2.mathworks.cn/help/matlab/ref/subplot.html?searchHighlight=subplot&s_tid=doc_srcht ...

  5. Matlab中下标,斜体,及希腊字母的使用方法

    下面是Matlab官方列出来的Tex代码列表,包含了绝大部分的希腊字母和数学符号. Character Sequence Symbol Character Sequence Symbol Charac ...

  6. Matlab中imagesc用法

    来源:https://ww2.mathworks.cn/help/matlab/ref/imagesc.html?searchHighlight=imagesc&s_tid=doc_srcht ...

  7. matlab中imread 从图形文件读取图像

    来源:https://ww2.mathworks.cn/help/matlab/ref/imread.html?searchHighlight=imread&s_tid=doc_srchtit ...

  8. matlab中patch函数的用法

    http://blog.sina.com.cn/s/blog_707b64550100z1nz.html matlab中patch函数的用法——emily (2011-11-18 17:20:33) ...

  9. matlab中的卷积——filter,conv之间的区别

    %Matlab提供了计算线性卷积和两个多项式相乘的函数conv,语法格式w=conv(u,v),其中u和v分别是有限长度序列向量,w是u和v的卷积结果序列向量. %如果向量u和v的长度分别为N和M,则 ...

随机推荐

  1. android network develop(2)----network status check

    Check & Get network status Normally, there will be two type with phone network: wifi & mobil ...

  2. [Derby]数据库操作说明

    1. 创建新数据库 connect 'jdbc:derby:mydb;create=true'; ij> connect 'jdbc:derby:mydb;create=true'; ij> ...

  3. Informatica Powercenter学习笔记

    LOOKUP TRANSFORMATION的使用点评: LOOKUP基本用法不熟的话请参考下附属信息. 用法感受: 1 LOOKUP的作用跟我们以前在EXCEL的函数功能类似,就是隔表取值.优点就是用 ...

  4. Nde模块篇

    /*模块分为两种:原生模块和文件模块.原生模块即Node.js API提供的原生模块,原生模块在启动时已经被加载.文件模块即为动态加载模块,加载文件模块的工作主要由原生模块 module 来实现和完成 ...

  5. hbase常用命令总结

    创建表:表名:csliyb:testuser列族:name 例子:create 'csliyb:testuser','name','age' 添加记录: put 'csliyb:testuser',' ...

  6. Regarding learning

    when you learn something, just like learn computer language. if you just learn some basic usage, not ...

  7. [麦先生]初学Laravel框架与ThinkPHP的不同(1)

    作为一个PHP菜鸟初学Laravel框架 在学习过程中我发现了其与TP框架的不同点,由于时间问题和认识还不够完善我先写出其中几点,有错误的地方希望各位大牛斧正... 1.渲染模版方式的不同:在Lara ...

  8. 使用PS3手柄在PC玩Unity3D游戏

    PS3手柄玩Unity游戏 今天把公司的PS3手柄接到PC上,想用手柄试一下玩赛车的感觉,老感觉用键盘按键玩的不爽. 把PS3的手柄接到PC上之后,系统提示正在安装驱动--,百度找资料,如何在PC上使 ...

  9. Windows远程桌面连接Ubuntu 14.04

    由于xrdp.gnome和unity之间的兼容性问题,在Ubuntu 14.04版本中仍然无法使用xrdp登陆gnome或unity的远程桌面,现象是登录后只有黑白点为背景,无图标也无法操作.与13. ...

  10. QTP和WinRunner区别

    QTP,全称为Quick Test Professional,它与WinRunner同为MI公司开发的功能强大的功能测试工具.从时间上来看,WinRunner在1995年便已经推出,远早于QTP,而Q ...