使用Freeman链码提取影像边界

第一篇博客,还真不知道写些什么。恰好最近写了一个小功能,还是蛮有用,希望能帮到用得着的朋友,也为以后积累资料吧。
在GIS行业中,有时会计算影像的面积,希望提取出影像的边界,在做影像镶嵌是还会求取影像的有效范围等。那么,针对一个影像,如何能够得到它的有效范围呢?
1)ArcGIS中有一个工具,好像是在3D分析工具中的栅格范围,但是我在使用的时候并没有成功(也许我还不会玩那个);
2)自己编程实现,在GDAL中,有一个函数可以实现栅格矢量化,如果想要使用这个提取栅格影像的有效边界,那么最好是先二值化,并且要使得影像内部没有背景值,不然后期修改复杂;
3)使用Freeman链码提取出边界点,用ORG中的相关函数写成.shp格式。

一、Freeman链码

在大学的时候使用过Freeman链码提取影像边界,因此,在遇见这个问题的时候很快就找到了思路,也说明现在做的事情,将来的某一天就能帮到自己。
Freeman链码我在这不作具体介绍,网上一大把,主要提及一点:如何搜索影像边界。
1)按照定义的链码方向,首先初始一个方向,并定位到影像边界上的某一点;
2)从初始方向倒退两个开始搜索,即如果初始方向为4,那么就从2开始搜索;
3)当搜索到下一个影像边界点时结束,把像素坐标加入数组,以便后续使用,并更改初始方向码值;

二、生成shp面

利用GDAL库和ORG,将之前的像素坐标转为经纬度坐标并写入shp面。

三、需注意的问题

1)如果影像有效范围在影像的外接矩形框上,那么需要注意判断边界问题;
2)由于记录的是像素的左上角坐标,因此,在影像的某些边界上会出现往里走了一个像素,所以最好根据链码值作相应的调整。这样会使得提取的边界更加完美。
3)如果影像较大,那需要分块读取,我采取的是三行读取;
4)假如出现了一个图像中有不连续的影像,那么在提取边界的时候就应该进行判断。

使用Freeman链码提取影像边界相关推荐

  1. SuperMap iDesktop 提取影像边界裁剪去除无值区域处理方案

    SuperMap iDesktop 提取影像边界裁剪去除无值区域处理方案 处理栅格数据 1. 查询白边栅格值 2. CON函数代数运算 3. 得到结果栅格 栅格矢量化转为面 4. 栅格矢量化 5. 得 ...

  2. ArcGIS提取影像或栅格数据边界

    ArcGIS提取影像或栅格数据边界 根据博主查阅过栅格数据或影像数据提取边界的方法后,用了一种比较非常规的方法提取影像边界. 以多波段遥感影像提取边界为例 加载遥感影像并通过波段提取出单波段影像. 主 ...

  3. freeman链码,归一化链码,一阶差分链码,归一化一阶差分链码

    最近在做一些关于图像的东西,在用边界跟踪提取图像的边界之后要用链码编码之后才能进行下一步处理,所以查资料学习了一下标题里面提到的东西.在这里就不说这些东西的背景了,主要是通俗地解释一下这些东西的原理. ...

  4. 【ArcGIS风暴】ArcGIS10.6获取栅格影像边界范围的三种方法案例详解

    基于ArcGIS平台有多种办法可以提取栅格影像边界,常见的方法有3种: 栅格范围(Raster Domain) 栅格转面(Raster to Polygon) 创建轮廓(BuildFootprints ...

  5. Freeman链码(弗雷曼链码)--matlab实现

    Freeman链码(弗雷曼链码)–matlab实现 clear; clc;close all; % 下面是对单幅图像处理的程序 I=imread('../images/8.jpg'); % I为一幅包 ...

  6. Freeman链码及其某些变化

    %Freeman链码及其某些变化 f=imread('noisy_circular_stroke.tif'); subplot(3,2,1),imshow(f),title('原图')h=fspeci ...

  7. freeman 链码

    文章转自:http://blog.sina.com.cn/s/blog_6f57a7150100opue.html 假设简单图像: f =      1     1     0     1     1 ...

  8. opencv cvFindContour 轮廓 freeman链码

    CvMemStorage* storage = cvCreateMemStorage(0); CvSeq* contour = 0; //传入图像必须是8位单通道,将被修改 int iCount=cv ...

  9. 影像组学视频学习笔记(34)-使用3D Slicer软件提取影像组学特征、Li‘s have a solution and plan.

    作者:北欧森林 链接:https://www.jianshu.com/p/afcd06221ea4 来源:简书,已获授权转载 RadiomicsWorld.com "影像组学世界" ...

最新文章

  1. php cli模式下获取参数的方法
  2. [LeetCode]高频算法题
  3. CHANGE MASTER TO语法--MySql数据库
  4. Linux网络管理基本
  5. 在MFC程序中增加控制台窗口
  6. Pycharm中无法导入各种Python模块,pip不能更新的解决办法
  7. 【VB.NET】VB.NET基本语法常见问题的解答
  8. Windows函数错误处理
  9. 金山云肖江:5G+AIoT为智慧社区建设插上翅膀
  10. 调整DOSBOX窗口大小
  11. 美好创亿医疗通过注册:年营收11亿 熊小川控制81%股权
  12. 解决酷狗音乐缓存文件kgtemp文件无法播放的问题
  13. 辽宁民办计算机学校排名2015,2021辽宁民办大学排名 最新高校排行榜
  14. 【Pigeon源码阅读】服务注册发布流程(四)
  15. 给未来的自己鼓励打劲!
  16. 关于Ubuntu22.04无法定位软件包
  17. 肇庆学院计算机科学与技术专业多少分能进,2020肇庆学院录取分数线是多少-各专业分数线...
  18. 《微信公众平台开发最佳实践》—— 1.3 微信公众平台的使用
  19. 万粉博主为CSDN增加粉丝数据分析模块【硬核】
  20. 谷粒商城11——认证服务、短信验证、Gitee-OAuth 社交登录、分布式session

热门文章

  1. c语言建立小根堆的算法,小根堆(Heap)的详细实现
  2. Matlab 计算显色指数(Ra,R1-R15)、CCT、duv、Lux、XYZ三刺激值、CIE1931x、CIE1931y
  3. 神操作 之 Mac OS prompt_status:5:command not found:wc
  4. 利用CSS改变图片颜色的多种方法!
  5. 谷歌浏览器小恐龙Java实现小游戏
  6. gen阻抗 pcie_PCIe Gen3/Gen4接收端链路均衡测试(上篇:理论篇)
  7. Web Components 学习 01 认识 Web Components、一些组件库使用
  8. 6.2 新浪财经——资产负债表获取(打印js渲染后的网页表格)
  9. 19.顺时针打印矩阵
  10. 企业数字化转型之传统IT架构改造