Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/opencv/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 如何定位和提取坐标/数据/图表/地图图像数据的子组件?_Python_Opencv_Image Processing_Gis_Scikit Image - Fatal编程技术网

Python 如何定位和提取坐标/数据/图表/地图图像数据的子组件?

Python 如何定位和提取坐标/数据/图表/地图图像数据的子组件?,python,opencv,image-processing,gis,scikit-image,Python,Opencv,Image Processing,Gis,Scikit Image,我正在从一些我付费访问的光栅海图(地图)中创建一个平铺服务器,我正在尝试对这些海图分发的原始图像数据进行后期处理,然后对其进行地理参考并将其分割成平铺 我有两组任务,非常感谢任何帮助,甚至是关于如何以自动化方式完成这些任务的示例代码。我对python/jupyter笔记本并不陌生,但在使用opencv/machine learning(或者如果有更好的工具包库,我甚至还不知道)等工具进行图像分析/处理这类数据科学方面,我拥有零经验 我有(原件是PNG,但太大了,无法上传,所以我用高质量的JPEG

我正在从一些我付费访问的光栅海图(地图)中创建一个平铺服务器,我正在尝试对这些海图分发的原始图像数据进行后期处理,然后对其进行地理参考并将其分割成平铺

我有两组任务,非常感谢任何帮助,甚至是关于如何以自动化方式完成这些任务的示例代码。我对python/jupyter笔记本并不陌生,但在使用opencv/machine learning(或者如果有更好的工具包库,我甚至还不知道)等工具进行图像分析/处理这类数据科学方面,我拥有零经验

我有(原件是PNG,但太大了,无法上传,所以我用高质量的JPEG对它们进行编码,以便跟进/提供样本数据)。。以下是我想做的:

  • 验证所有图像数据。。第一张图表(以及最后四张)展示了格式正确的图表图像应该是什么样子(我在第一张图表中手动添加了一些彩色矩形,以在下面的奖励部分突出显示图像的不同部分)

    • 有些图像可能缺少平铺数据,如在第二个示例图像中,这些始终是256x256图像数据的块,因此应该可以直接识别这种精确大小的黑匣子
    • 有些图像会出现损坏/错位的分幅,如第3张图像(请注意,图像的中/上半部分是一个大的彩色半圆/圆弧,它在下方略微重复,如果您水平查看,您可以看到图像数据发生了移动,因此这些分幅不知何故已损坏
  • 提取信息,最终一旦所有图像数据被验证为有效(上述步骤得到保证),我就需要从图像中提取一些数据,其中最重要的是

    • 内部图表框架的4个坐标(左上、右上、左下、右下),在第一个图像中,它们在每个角的一个小粉红色框中高亮显示(其他图像没有它们,但它们以相似的方式定位)-注意,由于这些是地理坐标,涉及投影,因此它们并不总是彼此100%水平/垂直
    • 关键的一点是,有些图像包含多个“chartlet”,我确实需要为每个chartlet获取上述4个坐标(有些图表没有chartlet,有些图表有两到几个,它们并不总是简单的矩形),如果有帮助的话,我可以为输入生成chartlet的数量
    • 如果可能的话,将每个小图表提取为一个单独的图像也是有帮助的(每个小图表都有一个大写字母a、B、C,如果它出现在文件名中就好了)
  • 作为奖励,如果有一种方法也可以提取第一个样本图像(左下角)中采样的部分,这可能涉及识别该部分在图像中出现的位置/情况(可能每个文件只出现一次,但不确定),然后根据其坐标进行提取

    • 最重要的是在一个绿色框中,表示一对表(左侧的表就是一个示例,我相信它们总是一样的,右侧的列数量是可变的)
    • 另外,橙色框中的表格也可以从中获取相关文本
    • 就像蓝色框中的小概览图一样,可以作为图像保留
我一直在看有关opencv和图像识别过程的教程,但到目前为止,这些内容都是非常基本的,更不用说针对不同操作的大量算法了(我也不知道我需要什么),所以我不确定它与我正在尝试做的事情有什么关系。实际上,我甚至不知道从哪里开始构建执行所有这些任务所需的步骤,或者如何进一步细分每个步骤以简化处理