加更一个小项目中的几个神奇的函数,tiff文件在matlab的读取和显示,以及如何在底图上画图和透明度设置

2023-11-18

项目需求:在地图tiff文件上画出轨迹和轨迹周围一定距离的范围

难点:tiff文件格式的读取,图片与经纬度之间的转换,图片具有透明度,在图片上作图

[boston,R] = geotiffread('boston.tif');
figure
%mapshow(boston,R);%完全不建议用这个,太大的tiff文件根本打不开
%axis image off

下面是另一种方法

t = Tiff('peppers_RGB_tiled.tif','r');
imageData = read(t);

imshow(imageData);

I = imread('abb.tif');

imshow(I)

然后是图片经纬度和内在坐标系之间的转换

函数 含义
contains 确定地理或地图栅格是否包含点
geographicToDiscrete 将地理变换为离散坐标
geographicToIntrinsic 将地理坐标转换为内在坐标
intrinsicToGeographic 主要使用该函数求坐标 将内在变换为地理坐标
intrinsicXToLongitude 从内在x转换为经度坐标
intrinsicYToLatitude 从内在y转换为纬度坐标
latitudeToIntrinsicY 从纬度转换为内在y坐标
longitudeToIntrinsicX 从经度转换为内在x坐标
sizesMatch 确定地理或地图栅格对象和图像或栅格是否与尺寸兼容
worldFileMatrix 返回转换的世界文件参数

 

通过这标红这四个函数就可以实现坐标和经纬度之间的转换(画图必须要用坐标)

然后是第一次设置透明度的问题

matlab的透明度针对的是图形,不能是线条,恰好这次需要画得就是区域

解决的方法是生成很多个随着圆心变动而变动的圆,然后更改透明度

x = r*cos(theta)+lon;

y = r*sin(theta)+lat;

for i = 1:length(lat)

    fill(x,y,'c');%这个是画填充圆的命令

    plot(x,y,'c');%为了好看,如果不用这句话的话会有一个黑色的默认边界

    alpha(0.8);%这个是更改透明度,里面的数据代表的显示的透明度

end

但是有一个小小的问题,当透明度更改的时候导入的底图tiff文件也会变的透明,这时候再多加叠一层非透明度100%的底图即可

耶!~

 

 

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

加更一个小项目中的几个神奇的函数,tiff文件在matlab的读取和显示,以及如何在底图上画图和透明度设置 的相关文章

  • Microsoft Visual C++ 2008 和 R2007b 的 Mex 类型

    我想对 vs2008 和 matlab2007b 使用 mex 类型 我尝试了下面的代码 include
  • 查找数组中元素之间的平均差异的有效方法

    希望标题不会让人困惑 通过例子来展示很简单 我有一个像这样的行向量 1 5 6 我想找到每个元素之间的平均差异 此示例中的差异为 4 和 1 因此平均值为 2 5 这是一个小例子 我的行向量可能非常大 我是 MatLab 新手 那么有没有一
  • 在 MATLAB 中将数据拟合到 B 样条

    我正在尝试估计矩阵形式的时间序列数据中的缺失值 列代表时间点 即现在 我想将矩阵的每一行拟合到 B 样条曲线 并用它来估计缺失值 我可以使用 MATLAB 将数据拟合到普通样条曲线 但我完全陷入尝试找出如何拟合数据以创建 B 样条曲线的困境
  • 如何获取活动对象 MATLAB GUI 的句柄

    我正在尝试使用 MATLAB GUI 创建日历 我有两个Edit Text对象 edittext1 and edittext2 我想做这个 我把光标放在edittext1然后在日历中选择日期 它会进入文本字段edittext1 同样对于ed
  • 将组合字符串和数字输入的元胞数组写入文本文件

    考虑以下 DateTime 2007 01 01 00 00 2007 02 01 00 00 2007 03 01 00 00 Headers Datetime Data Dat 100 200 300 Data DateTime num
  • 如何以编程方式指定 MATLAB 编辑器键绑定

    我想将键盘键绑定设置为Windows 默认设置我想在启动时使用startup m因为我希望在大量系统上设置此设置 首选项对话框中的等效设置是 MATLAB gt Keyboard gt Shortcuts gt Active Setting
  • MATLAB:比较两个不同长度的数组

    我有两个长度不同的数组 由于采样率不同 需要比较 我想对较大的数组进行下采样以匹配较小的数组的长度 但是该因子不是整数而是小数 举个例子 a 1 1 375 1 75 2 125 2 5 2 875 3 25 b 1 2 3 有什么方法可以
  • 通过傅里叶空间填充进行插值

    我最近尝试在 matlab 上实现一个在傅立叶域中使用零填充的插值方法的简单示例 但我无法正常工作 我总是有一个小的频移 在傅里叶空间中几乎不可见 但它在时空上产生了巨大的误差 由于傅里叶空间中的零填充似乎是一种常见 且快速 的插值方法 因
  • 为什么matlab的mldivide比dgels好这么多?

    Solve Ax b 真正的双 A是超定的 Mx2 其中 M gt gt 2 b是MX1 我运行了大量的数据mldivide 并且结果非常好 我用 MKL 写了一个 mex 例程LAPACKE dgels但它远没有那么好 结果有大量噪音 并
  • Matlab Solve():未给出所有解决方案

    我试图找到两条曲线的交点 syms x y g x 20 exp x 30 3 5 1 sol x sol y solve x 22 3097 2 y 16 2497 2 25 y g x x y Real true 它只提供一种解决方案
  • 单元格的 Fieldnames 函数的等效项

    正如标题所说 只是想知道是否有一个函数可以用作字段名 http www mathworks co uk help matlab ref fieldnames html 但适用于单元格 所以如果我有类似的东西 a imread redsqua
  • 如何在Matlab中将世界坐标转换为像素索引

    我有 512x512x313 体积的 dicom 图像 并且我有一个以世界坐标表示的点 57 7475 63 4184 83 1515 我如何在 Matlab 中获得该世界坐标的相应像素坐标 我不想戳破你的幻想 但你所要求的是不可能的 我能
  • 为什么 MATLAB 在打印大量 (.png) 图形时速度会变慢?

    我正在将大量数字打印为 png 文件 每个图都是数据矩阵中的一列图 我获取 png 文件并将它们串在一起形成动画 我的问题是 前几百张图像打印得很快 但创建每个新图形的时间却迅速增加 从前几百个 png 文件的约 0 2 秒到第 800 个
  • 如何每次使用按钮将数据添加到 MATLAB 中的现有 XLSX 文件?

    我有一个函数可以生成一些变量 例如分数 对 错 未回答 使用按钮调用此功能 问题是如何每次将函数生成的这些值添加 附加到 XLSX 文件中 或者 如何创建 MAT 文件以便可以添加它 可能的解决方案是什么 附加到 xls 文件所涉及的挑战是
  • 归一化互相关的基础知识

    我正在尝试使用范数校正2 归一化互相关 http en wikipedia org wiki Cross correlation Normalized cross correlation 来自 MATLAB 用于计算发育中胚胎中移动形状的速
  • 垂直子图的单一颜色条

    我想让下面的 MATLAB 图有一个沿着两个子图延伸的颜色条 像这样的事情 使用图形编辑器手动完成 Note 这与提出的问题不同here https stackoverflow com questions 39950229 matlab t
  • 直方图均衡结果

    I am trying to code histogram equalization by my self but the results are different from the built in function in matlab
  • getappdata 在 MATLAB 中返回空矩阵

    我有一段代码 我在其中使用setappdata然后我使用以下方式调用数据getappdata即使它不为空 它也会返回一个空矩阵 我的一段简化代码如下 function edit1 Callback hObject eventdata han
  • 在Matlab中对字符进行分组并形成矩阵

    我有 26 个字符 A 到 Z 我将 4 个字符组合在一起 并用空格分隔以下 4 个字符 如下所示 abcd efgh ijkl mnop qrst uvwx yz 我的Matlab编码如下 str abcdefghijklmnopqrst
  • 命令 A(~A) 在 matlab 中的真正作用是什么

    我一直在寻找找到矩阵非零最小值的最有效方法 并在论坛上找到了这个 设数据为矩阵A A A nan minNonZero min A 这是非常短且高效的 至少在代码行数方面 但我不明白当我们这样做时会发生什么 我找不到任何关于此的文档 因为它

随机推荐

  • ELF文件格式

    在介绍ELF格式之前 先简单说明一下可执行文件的生成流程 1 编写C源文件 或汇编源文件 2 准备共享库格式的目标文件 shared object file 如数学库 标准库 2 用编译器 compiler 将C编译成可重定位格式的目标文件
  • 关于pickle的load,loads等

    基础知识 python自带的file函数只能存储和读取字符串格式的数据 pickle可以存储和读取成其他格式比如list dict的数据 来自 https www zhihu com question 38355589 如需更详细 关于lo
  • 三十八、java版 SpringCloud分布式微服务云架构之Java 网络编程

    Java 网络编程 网络编程是指编写运行在多个设备 计算机 的程序 这些设备都通过网络连接起来 java net 包中 J2SE 的 API 包含有类和接口 它们提供低层次的通信细节 你可以直接使用这些类和接口 来专注于解决问题 而不用关注
  • windows定时自动备份

    windows定时自动备份 1 创建bat脚本 1 本地备份 复制以下代码保存该文件 修改文件名为以 bat结尾的文件 echo off echo 正在复制 C a 文件夹的内容至 D b 文件夹下 xcopy C a D b e I d
  • pip 命令行“ImportError: No Module Named Typing”

    pip遇到ImportError No Module Named Typing 原因在于运行的是python2版本 升级到python3就不会有这个问题 但是因为Mac中同时有python2和python3 可以把pip安装在python3
  • 如何写出高效的sql的一点想法及oracle常用hint用法

    author skate time 2009 05 15 如何写出高效的sql的一点想法 迷糊的问题 1 什么样的sql 才算是高效的sql呢 2 sql为什么不走索引 如何让sql走索引 即改变sql的执行计划3 索引有哪几种 4 什时候
  • 多显示器设置检测不到_那些与显示设置相关的事

    点击上方 蓝字 点击右上角 选 设为星标 标星 防走丢 那些与显示设置相关的事 本文阅读目录 显示分辨率的概念与设置 刷新率的概念与设置 不能满屏显示的原因 显卡控制面板 控制台的概念 多显示器设置 一 显示分辨率的概念与设置 显示分辨率
  • mysql 第10 天

    变量 1 定义 declare DECLARE var name type DEFAULT value 例如 定义一个 DATE 类型的变量 名称是 last month start DECLARE last month start DAT
  • 【话题】感觉和身边其他人有差距怎么办?也许自我调整很重要

    每个人能力有限 水平高低不同 我们身在大环境里 虽然在同一个起跑线上 但是时间久了 你会发现 并越来越感觉到和身边其他人有了差距 慢慢的会有一定的落差感 怎么办呢 通过此篇文章我们来简单聊聊 目录 一 焦虑怎么办 1 接受自己的不完美 2
  • P1182 数列分段 Section II

    题目描述 对于给定的一个长度为N的正整数数列 A 现要将其分成 M M N 段 并要求每段连续 且每段和的最大值最小 关于最大值最小 例如一数列 4 2 4 5 1 要分成 3 段 将其如下分段 4 2 4 5 1 第 1 段和为 6 第
  • java jsonarray 追加_我们如何在Java中将JSONArray添加到JSONObject?

    该JSON是用于交换数据的基于文本的格式 它是轻量级的组件 与语言无关 我们还可以将JSONArray添加到JSONObject 我们需要首先将一些项目添加到ArrayList中 并将此列表传递给JSONArray类的put 方法 最后使用
  • go dll 传char*

    go调用dll中方法参数为 char类型 tiger1103 2017 12 25 10 58发布 1224浏览 问与答 我有一个dll库 里面有一个C实现的方法 int GetPeopleName char strTmp int strL
  • stateflow基础知识之(时序逻辑)

    stateflow状态转移和动作过程中 可以使用两种类型的时序逻辑 基于事件和绝对时间 基于事件的时序逻辑可跟踪重复发生的事件 绝对时间时序逻辑则基于 Stateflow 图的仿真时间定义时间段 要对这些重复事件或仿真时间进行操作 可以使用
  • 总结:对Java内存模型JMM的理解

    JMM规定了线程的工作内存和主内存的交互关系 以及线程之间的可见性和程序的执行顺序 一方面 要为程序员提供足够强的内存可见性保证 另一方面 对编译器和处理器的限制要尽可能地放松 JMM对程序员屏蔽了CPU以及OS内存的使用问题 能够使程序在
  • MySql的常见的语句总结

    目录 MySql的高级查询语句 数据准备 查询中常用的DISTINCT IN BETWEEN OR DESC ASC COUNT MAX LIMIT等关键字 SQL中关于日期的函数 SQL的分组查询和多表查询 sql的子查询以及UNION和
  • 【报错】 openai.error.RateLimitError: Rate limit reached for default-text-davinci-003 in organization

    使用open AI的API调用模型的时候 会出现以下报错 openai error RateLimitError Rate limit reached for default text davinci 003 in organization
  • mysql可扩展用户属性_MySQL扩展--可伸缩性最佳实践:来自eBay的经验

    在eBay 可伸缩性是我们每天奋力抵抗的一大架构压力 我们所做的每一项架构及设计决策 身前身后都能看到它的踪影 当我们面对的是全世界数以亿计的用户 每天的页面浏览量超过10亿 系统中的数据量要用皮字节 1015或250 来计算 可伸缩性是生
  • 解释器和编译器的区别

    解释器与编译器的区别 两者都是将高级语言转换成机器码 解释器在程序运行时将代码转换成机器码 编译器在程序运行之前将代码转换成机器码 编译器相当于做好一桌子菜再开吃 解释器就是吃火锅边煮边吃 吃火锅效率要低一点
  • CStatusBar技巧

    一 状态条控制的主要功能 状态条控制 Status Bar Control 比较容易理解 使用起来也比较简单 状态条是位于父窗口底部的一个水平子窗口 它可以被分成多个显示信息的小区域 其MFC中封装的CstatusBarCtrl控制类提供了
  • 加更一个小项目中的几个神奇的函数,tiff文件在matlab的读取和显示,以及如何在底图上画图和透明度设置

    项目需求 在地图tiff文件上画出轨迹和轨迹周围一定距离的范围 难点 tiff文件格式的读取 图片与经纬度之间的转换 图片具有透明度 在图片上作图 boston R geotiffread boston tif figure mapshow