【发布时间】:2014-04-28 19:00:00
【问题描述】:
如何将每张白色的图像提取成如下所示的单独部分?
从上图中,提取后会有九个独立的部分
我尝试了几种算法,例如 fillgrid,但并不完全符合我的预期。
这样我就可以将每个部分作为多边形几何图形存储到 PostGIS 数据库中
我可以使用什么算法? 或者java或postgis库中是否有函数?
【问题讨论】:
标签: java image postgresql image-processing postgis
如何将每张白色的图像提取成如下所示的单独部分?
从上图中,提取后会有九个独立的部分
我尝试了几种算法,例如 fillgrid,但并不完全符合我的预期。
这样我就可以将每个部分作为多边形几何图形存储到 PostGIS 数据库中
我可以使用什么算法? 或者java或postgis库中是否有函数?
【问题讨论】:
标签: java image postgresql image-processing postgis
This thread 可能会对您有所帮助,但我认为您可以通过查找图像中的颜色差异来做到这一点。
【讨论】:
您需要将栅格数据“多边形化”为矢量。
一个这样的工具来自GDAL,它的方法最初是用 C++ 编写的,但也绑定到 Java。
使用 Polygonize 方法的一些进一步提示是,您需要将栅格值分类为“无数据”值,然后将剩余数据部分多边形化。生成的多边形可以以大多数地理空间矢量格式放置,包括 PostGIS 数据库。
另一种解决方案是将图像加载到 PostGIS 栅格中,然后使用 ST_Polygon 或 ST_DumpAsPolygons 执行与 GDALPolygonize 基本相同的任务,但选项更少。
【讨论】: