CN107239779A - 一种扫描纸质海图水深点自动矢量化及信息提取的改进方法 - Google Patents
一种扫描纸质海图水深点自动矢量化及信息提取的改进方法 Download PDFInfo
- Publication number
- CN107239779A CN107239779A CN201710480531.9A CN201710480531A CN107239779A CN 107239779 A CN107239779 A CN 107239779A CN 201710480531 A CN201710480531 A CN 201710480531A CN 107239779 A CN107239779 A CN 107239779A
- Authority
- CN
- China
- Prior art keywords
- depth
- water point
- numstr
- water
- depstr
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/20—Image preprocessing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T11/00—2D [Two Dimensional] image generation
- G06T11/60—Editing figures and text; Combining figures or text
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V30/00—Character recognition; Recognising digital ink; Document-oriented image-based pattern recognition
- G06V30/10—Character recognition
- G06V30/14—Image acquisition
- G06V30/148—Segmentation of character regions
- G06V30/153—Segmentation of character regions using recognition of characters or words
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/10—Image acquisition modality
- G06T2207/10004—Still image; Photographic image
- G06T2207/10008—Still image; Photographic image from scanner, fax or copier
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/20—Image preprocessing
- G06V10/24—Aligning, centring, orientation detection or correction of the image
- G06V10/247—Aligning, centring, orientation detection or correction of the image by affine transforms, e.g. correction due to perspective effects; Quadrilaterals, e.g. trapezoids
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Multimedia (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Image Processing (AREA)
- Processing Or Creating Images (AREA)
Abstract
一种扫描纸质海图水深点自动矢量化及信息提取的改进方法,它包括以下步骤:扫描纸质海图;进行几何校正;框选海图图像中任一包含单个或多个水深点的图像区域,并获取框选的图像区域左上角的空间坐标;识别区域中的数字,判断数字序列,获取其整数位数字的宽度w和高度h;依次计算各个水深点的空间坐标,在创建的点矢量文件中生成点要素并将水深数据写入属性表,在图上显示获取的水深读数和空间位置。本发明能够大幅度提高海图水深点矢量化工作的效率。对于一幅1:150,000的海图,一个熟练的矢量化操作员通常需要半天至一天的不间断工作方能完成全部水深点的矢量化,利用本方法仅需要30分钟至1小时即可实现,显著提高了识别的效率。
Description
技术领域
本发明涉及河口海岸科学、港口及航道工程等应用领域,具体地说是一种扫描纸质海图水深点自动矢量化及信息提取的改进方法。
背景技术
海图是精确测绘海洋水域和沿岸地物信息的专门地图形式,主要内容包括:岸线、岛屿、礁石、水深、航标和无线电导航台等,是航海必不可少的参考数据。同时,也是河口海岸科学研究,海岸工程、港口及航道工程应用获取基础数据的重要数据源,在航海、河口海岸及海洋科学研究领域有着广泛的应用。长期以来,人们只能够从有关部门购买纸质海图,再扫描成数字化的图像通过手工矢量化的方式将其转变为便于计算机处理的形式加以应用。尽管近些年已经可以直接获得矢量格式的海图,但历史上积存的大量纸质海图对于认识近岸海洋环境的发展演变是不可替代的数据源,在科研和工程应用中具有重要意义。每张海图上都有数以千计的点要素、线要素信息及大量的其它信息,常规的手工矢量化方式需要通过不断重复性的劳动来完成,工作极其枯燥乏味,而且强度大、效率低、易出错、一致性差,极大地制约了纸质海图在科研和工程领域的应用。因此,迫切需要提高扫描纸质海图矢量化的效率。
发明内容
本发明根据海图制图规范,提出一种扫描纸质海图水深点自动矢量化及信息提取的改进方法,实现了海图水深点要素自动精确定位和矢量化、水深数据自动提取的功能,以提升纸质海图矢量化的效率,挖掘历史海图数据的价值,为科研和工程应用提供便利。
本发明的技术方案是:
一种扫描纸质海图水深点自动矢量化及信息提取的改进方法,它包括以下步骤:
S1、扫描纸质海图;
S2、对扫描的海图图像文件进行几何校正(海图属于地理数据的一种,而地理数据要与实际空间位置对应起来才有意义,利用扫描仪扫描进电脑之后仅仅是一个普通的图片,因此在使用之前需要对其进行几何校正);创建点矢量文件,文件参考坐标系与已校正的扫描海图图像文件一致;
S3、框选海图图像中任一包含单个或多个水深点的图像区域,并获取框选的图像区域左上角的空间坐标(X,Y)及x、y方向的像元大小Sx、Sy;
S4、读取框选区域的图像数据,识别区域中的数字,将识别结果中多个数字序列合并为1个数字序列NumStr,该数字序列中有n个数字,m为序列中的数字索引,m=0,...,n-1,获得数字序列以及数字序列中各数字上边到框顶边的顶边距离Top、下边到框顶边的底边距离Bottom、左边到框左边的左边距离Left、右边到框左边的右边距离Right;
S5、声明字符变量DepStr用来存放提取的单个水深点数字序列,并将数字序列NumStr中第一个数字即NumStr0赋值给DepStr,同时获取其左上角的坐标位置(x,y);(DepStr是一个临时变量,用来存储通过判断从数字序列中分离得到的单个水深点读数,每得到一个完整的水深点读数,DepStr就被转换为数值型并存入一个用来存储所选全部水深点读数的数组变量,然后将被重新赋值用来存储下一个水深点读数);
S6、判断数字序列NumStr是否只包含一个数字:
如果是一个数字,则仅有一个水深点且数值为1位整数,将DepStr转变为数值型即得到正确的水深点读数,同时获取其宽度w和高度h;
如果包含多于一个数字,则依次将NumStrm-1与NumStrm的空间位置进行比较,m=1,...,n-1,直到所有数字比较完毕结束,得到所有水深点的正确读数,获取其整数数字的宽度w和高度h;
S7、依次计算各个水深点的空间坐标;
S8、根据所获取的水深点空间坐标在步骤S2创建的点矢量文件中生成点要素并将水深数据写入属性表,在图上显示获取的水深读数和空间位置以便判断正确与否;
S9、目视判断所获取的水深点读数和空间位置是否正确,若不正确,进行修正,若正确,则重复S2至S9步,完成整幅海图的矢量化。
进一步地,步骤S2中,采用GIS软件工具进行几何校正,如ArcGIS。
进一步地,步骤S4中,采用OCR引擎识别所选图像区域中的数字。
进一步地,步骤S6中,空间位置比较步骤具体为:
如果NumStrm-1与NumStrm的左边距离Left满足下述情况,则进行相应处理:
C1、Abs(Leftm-Leftm-1)<20且Abs(Topm-Topm-1)<5,则NumStrm为该水深点的一个整数位数字,将NumStrm连接到DepStr:(字符串连接,例如,字符串变量str现在=“1”,把一个新的字符串“6”连接到str,则str就变成了“16”;再把一个新的字符串“3”连接到str,则str就变成了“163”。因为选了多个水深点,OCR识别后结果可能比较乱,一个水深点的数可能识别成两个对象,也可能多个水深点的数字识别成一个对象,所以首先把识别出的所有数字合成为一个水深点序列,然后通过这里的算法来把各个水深点正确分开。这里DepStr是用来存放分开后的单个水深点数值的变量。)
进而,判断NumStrm是否为NumStr的最后一个数字,即判断m=n-1是否成立,如果成立,则DepStr为该水深点的完整数字序列,且无小数位,将DepStr转变为数值型即得到正确的水深点读数,同时获取其宽度w和高度h,比较结束,否则继续比较;
C2、Abs(Leftm-Leftm-1)<20且5<Abs(Topm-Topm-1)<15,则NumStrm为小数位,将NumStrm连接到DepStr,DepStr作为该水深点的完整数字序列,将DepStr转变为数值型并除以10即得到正确的水深点读数,同时获取其整数位宽度w和高度h;
判断m<n-1是否成立,如果成立,则对DepStr重新赋值为NumStrm+1,并令m=m+1,同时获取NumStrm+1的坐标位置,否则继续比较;
进而,判断NumStrm是否为NumStr的最后一个数字,即判断m=n-1是否成立,如果成立,则DepStr为该水深点的完整数字序列且数值为1位整数,将DepStr转变为数值型即得到正确的水深点读数,同时获取其宽度w和高度h,比较结束,否则继续比较;
C3、如果不满足C1、C2的两个初始判断条件,则DepStr为该水深点的完整数字序列,且无小数位,将DepStr转变为数值型即得到正确的水深点读数,同时获取其宽度w和高度h,获取NumStrm的坐标位置,对DepStr重新赋值为NumStrm;
进而,判断NumStrm是否为NumStr的最后一个数字,即判断m=n-1是否成立,如果成立,则DepStr为该水深点的完整数字序列,且无小数位,将DepStr转变为数值型即得到正确的水深点读数,获取其宽度w和高度h,比较结束,否则继续比较。
进一步地,获取宽度w和高度h时,采用下述步骤:
若存在小数位,宽度w通过数字序列中倒数第二个数字的右边距离Right减去第一个数字的左边距离Left得到宽度w,高度h通过排除数字序列最后一个数字之后的全部数字中最大底边距离Bottom减去最小顶边距离Top得到;
若不存在小数位,宽度w通过数字序列中最后一个数字的右边距离Right减去第一个数字的左边距离Left得到,高度h通过数字序列中所有数字中最大底边距离Bottom减去最小顶边距离Top得到。
进一步地,步骤S7具体包括:
S7.1、首先根据数字识别结果获取数字序列第一个数字左上角在所选图像区域中的坐标(x,y);
S7.2、采用下述公式计算整数位中心点在整幅海图中的坐标(Cx,Cy),即水深点的空间坐标:
Cx=X+(x+w/2)×Sx
Cy=Y-(y+h/2)×Sy
其中:X,Y表示框选的图像区域左上角的空间坐标;x,y表示数字序列第一个数字左上角在所选图像区域中的坐标,Sx、Sy表示x、y方向的像元大小,w表示水深点数值整数位宽度,h表示水深点数值整数位高度。
进一步地,步骤S2中,事先依照几何校正后的海图数字格式创建的0至9十个数字模板图像。
进一步地,步骤S9中,修正步骤为:
S9.1、用户在地图窗口中点击待修正的水深点,获取用户点击位置的空间坐标,比较用户点击位置的空间坐标与所有水深点的空间坐标之间的距离,距离最小者为待修正的水深点;
S9.2、操作人员手动录入水深点正确读数,根据所录入数字整数位,从0至9数字模板中读取相应的数字,若整数位只有1位只需读取其中一个数字模板图像,否则需要读取相应位数的数字模板图像,并合成为一个图像,获取整数位的宽度w和高度h;
S9.3、分别对所选图像区域和前述步骤获取的数字模板图像执行傅里叶变换得到各自的频谱图;
S9.4、对两个频谱图执行相关操作(correlation),然后对相关操作(correlation)所得到的图像执行傅里叶逆变换,在用户点击位置附近搜索极大值点(x,y)即为待修正水深点整数位左上角在所选图像区域中的坐标(x,y);
S9.5、采用下述公式计算整数位中心点在整幅海图中的坐标(Cx,Cy),即水深点的空间坐标:
Cx=X+(x+w/2)×Sx
Cy=Y-(y+h/2)×Sy
其中:X,Y表示框选的图像区域左上角的空间坐标;x,y表示数字序列第一个数字左上角在所选图像区域中的坐标,Sx、Sy表示x、y方向的像元大小,w表示水深点数值整数位宽度,h表示水深点数值整数位高度;
S9.6、根据计算得到的(Cx,Cy)和操作人员录入的水深点读数,修改点矢量文件中对应的记录。
本发明的有益效果:
本发明能够大幅度提高海图水深点矢量化工作的效率。对于一幅1:150,000的海图,一个熟练的矢量化操作员通常需要半天至一天的不间断工作方能完成全部水深点的矢量化,利用本方法仅需要30分钟至1小时即可实现,显著提高了识别的效率。
附图说明
图1是本发明的流程图。
图2是局部海图。
其中:数字即水深点,点的位置在整数位的中心,有多于1位的整数位,也有不带小数位的,所有小数位只有1位。
图3是数字在框选图像区域中的位置示意图。
图4是同时获取多个水深点读数和坐标算法流程图。
其中:Num Str为数字序列,Num Strm为数字序列中第m个数字,Leftm、Topm分别为第m个数字的Left和Top数值;DepStr为单个水深点的数字收集器,Dep为数值型水深点变量、w、h分别为单个水深点整数位的宽度和高度,Coord为水深点左上角坐标。Abs为绝对值操作:DepStr+=NumStr_为连接字符串操作:DepStr→Dep我字符串转数值型操作。
具体实施方式
下面结合附图和实施例对本发明作进一步的说明。
如图1所示,一种扫描纸质海图水深点自动矢量化及信息提取的改进方法,它包括以下步骤:
S1、扫描纸质海图;
S2、对扫描的海图图像文件进行几何校正(采用GIS软件工具进行几何校正,如ArcGIS)(海图属于地理数据的一种,而地理数据要与实际空间位置对应起来才有意义,利用扫描仪扫描进电脑之后仅仅是一个普通的图片,因此在使用之前需要对其进行几何校正);创建点矢量文件,文件参考坐标系与已校正的扫描海图图像文件一致,事先依照几何校正后的海图数字格式创建的0至9十个数字模板图像。
S3、框选海图图像中任一包含单个或多个水深点的图像区域,并获取框选的图像区域左上角的空间坐标(X,Y)及x、y方向的像元大小Sx、Sy;
S4、读取框选区域的图像数据,识别区域中的数字,将识别结果中多个数字序列合并为1个数字序列NumStr,该数字序列中有n个数字,m为序列中的数字索引,m=0,...,n-1,获得数字序列以及数字序列中各数字上边到框顶边的顶边距离Top、下边到框顶边的底边距离Bottom、左边到框左边的左边距离Left、右边到框左边的右边距离Right;
S5、声明字符变量DepStr用来存放提取的单个水深点数字序列,并将数字序列NumStr中第一个数字即NumStr0赋值给DepStr,同时获取其左上角的坐标位置(x,y);
S6、判断数字序列NumStr是否只包含一个数字:
如果是一个数字,则仅有一个水深点且数值为1位整数,将DepStr转变为数值型即得到正确的水深点读数,同时获取其宽度w和高度h;
如果包含多于一个数字,则依次将NumStrm-1与NumStrm的空间位置进行比较,m=1,...,n-1,直到所有数字比较完毕结束,得到所有水深点的正确读数,获取其整数数字的宽度w和高度h,采用下述步骤:
若存在小数位,宽度w通过数字序列中倒数第二个数字的右边距离Right减去第一个数字的左边距离Left得到宽度w,高度h通过排除数字序列最后一个数字之后的全部数字中最大底边距离Bottom减去最小顶边距离Top得到;
若不存在小数位,宽度w通过数字序列中最后一个数字的右边距离Right减去第一个数字的左边距离Left得到,高度h通过数字序列中所有数字中最大底边距离Bottom减去最小顶边距离Top得到。
其中,空间位置比较步骤具体为:
如果NumStrm-1与NumStrm的左边距离Left满足下述情况,则进行相应处理:
C1、Abs(Leftm-Leftm-1)<20且Abs(Topm-Topm-1)<5,则NumStrm为该水深点的一个整数位数字,将NumStrm连接到DepStr:(字符串连接,例如,字符串变量str现在=“1”,把一个新的字符串“6”连接到str,则str就变成了“16”;再把一个新的字符串“3”连接到str,则str就变成了“163”。因为选了多个水深点,OCR识别后结果可能比较乱,一个水深点的数可能识别成两个对象,有可能多个水深点的数字识别成一个对象,所以首先把识别出的所有数字合成为一个水深点序列,然后通过这里的算法来把各个水深点正确分开。这里DepStr是用来存放分开后的单个水深点数值的变量。)
进而,判断NumStrm是否为NumStr的最后一个数字,即判断m=n-1是否成立,如果成立,则DepStr为该水深点的完整数字序列,且无小数位,将DepStr转变为数值型即得到正确的水深点读数,同时获取其宽度w和高度h,比较结束,否则继续比较;
C2、Abs(Leftm-Leftm-1)<20且5<Abs(Topm-Topm-1)<15,则NumStrm为小数位,将NumStrm连接到DepStr,DepStr作为该水深点的完整数字序列,将DepStr转变为数值型并除以10即得到正确的水深点读数,同时获取其整数位宽度w和高度h;
判断m<n-1是否成立,如果成立,则对DepStr重新赋值为NumStrm+1,并令m=m+1,同时获取NumStrm+1的坐标位置,否则继续比较;
进而,判断NumStrm是否为NumStr的最后一个数字,即判断m=n-1是否成立,如果成立,则DepStr为该水深点的完整数字序列且数值为1位整数,将DepStr转变为数值型即得到正确的水深点读数,同时获取其宽度w和高度h,比较结束,否则继续比较;
C3、如果不满足C1、C2的两个初始判断条件,则DepStr为该水深点的完整数字序列,且无小数位,将DepStr转变为数值型即得到正确的水深点读数,同时获取其宽度w和高度h,获取NumStrm的坐标位置,对DepStr重新赋值为NumStrm;(DepStr是一个临时变量,用来存储通过判断从数字序列中分离得到的单个水深点读数,每得到一个完整的水深点读数,DepStr就被转换为数值型并存入一个用来存储所选全部水深点读数的数组变量,然后将被重新赋值用来存储下一个水深点读数。)
进而,判断NumStrm是否为NumStr的最后一个数字,即判断m=n-1是否成立,如果成立,则DepStr为该水深点的完整数字序列,且无小数位,将DepStr转变为数值型即得到正确的水深点读数,获取其宽度w和高度h,比较结束,否则继续比较。
S7、依次计算各个水深点的空间坐标,进一步地,步骤S7具体包括:
S7.1、首先根据数字识别结果获取数字序列第一个数字左上角在所选图像区域中的坐标(x,y);
S7.2、采用下述公式计算整数位中心点在整幅海图中的坐标(Cx,Cy),即水深点的空间坐标:
Cx=X+(x+w/2)×Sx
Cy=Y-(y+h/2)×Sy
其中:X,Y表示框选的图像区域左上角的空间坐标;x,y表示数字序列第一个数字左上角在所选图像区域中的坐标,Sx、Sy表示x、y方向的像元大小,w表示水深点数值整数位宽度,h表示水深点数值整数位高度。
S8、根据所获取的水深点空间坐标在步骤S2创建的点矢量文件中生成点要素并将水深数据写入属性表,在图上显示获取的水深读数和空间位置以便判断正确与否;
S9、目视判断所获取的水深点读数和空间位置是否正确,若不正确,进行修正,若正确,则重复S2至S9步,完成整幅海图的矢量化,修正步骤为:
S9.1、用户在地图窗口中点击待修正的水深点,获取用户点击位置的空间坐标,比较用户点击位置的空间坐标与所有水深点的空间坐标之间的距离,距离最小者为待修正的水深点;
S9.2、操作人员手动录入水深点正确读数,根据所录入数字整数位,从0至9数字模板中读取相应的数字,若整数位只有1位只需读取其中一个数字模板图像,否则需要读取相应位数的数字模板图像,并合成为一个图像,获取整数位的宽度w和高度h;
S9.3、分别对所选图像区域和前述步骤获取的数字模板图像执行傅里叶变换得到各自的频谱图;
S9.4、对两个频谱图执行相关操作(correlation),然后对相关操作(correlation)所得到的图像执行傅里叶逆变换,在用户点击位置附近搜索极大值点(x,y)即为待修正水深点整数位左上角在所选图像区域中的坐标(x,y);
S9.5、采用下述公式计算整数位中心点在整幅海图中的坐标(Cx,Cy),即水深点的空间坐标:
Cx=X+(x+w/2)×Sx
Cy=Y-(y+h/2)×Sy
其中:X,Y表示框选的图像区域左上角的空间坐标;x,y表示数字序列第一个数字左上角在所选图像区域中的坐标,Sx、Sy表示x、y方向的像元大小,w表示水深点数值整数位宽度,h表示水深点数值整数位高度;
S9.6、根据计算得到的(Cx,Cy)和操作人员录入的水深点读数,修改点矢量文件中对应的记录。
本发明未涉及部分均与现有技术相同或可采用现有技术加以实现。
Claims (8)
1.一种扫描纸质海图水深点自动矢量化及信息提取的改进方法,其特征是它包括以下步骤:
S1、扫描纸质海图;
S2、对扫描的海图图像文件进行几何校正;创建点矢量文件,文件参考坐标系与已校正的扫描海图图像文件一致;
S3、框选海图图像中任一包含单个或多个水深点的图像区域,并获取框选的图像区域左上角的空间坐标(X,Y)及x、y方向的像元大小Sx、Sy;
S4、读取框选区域的图像数据,识别区域中的数字,将识别结果中多个数字序列合并为1个数字序列NumStr,该数字序列中有n个数字,m为序列中的数字索引,m=0,...,n-1,获得数字序列以及数字序列中各数字上边到框顶边的顶边距离Top、下边到框顶边的底边距离Bottom、左边到框左边的左边距离Left、右边到框左边的右边距离Right;
S5、声明字符变量DepStr用来存放提取的单个水深点数字序列,并将数字序列NumStr中第一个数字即NumStr0赋值给DepStr,同时获取其左上角的坐标位置(x,y);
S6、判断数字序列NumStr是否只包含一个数字:
如果是一个数字,则仅有一个水深点且数值为1位整数,将DepStr转变为数值型即得到正确的水深点读数,同时获取其宽度w和高度h;
如果包含多于一个数字,则依次将NumStrm-1与NumStrm的空间位置进行比较,m=1,...,n-1,直到所有数字比较完毕结束,得到所有水深点的正确读数,获取其整数数字的宽度w和高度h;
S7、依次计算各个水深点的空间坐标;
S8、根据所获取的水深点空间坐标在步骤S2创建的点矢量文件中生成点要素并将水深数据写入属性表,在图上显示获取的水深读数和空间位置以便判断正确与否;
S9、目视判断所获取的水深点读数和空间位置是否正确,若不正确,进行修正,若正确,则重复S2至S9步,完成整幅海图的矢量化。
2.根据权利要求1所述的扫描纸质海图水深点自动矢量化及信息提取的改进方法,其特征是步骤S2中,采用GIS软件工具进行几何校正,如ArcGIS。
3.根据权利要求1所述的扫描纸质海图水深点自动矢量化及信息提取的改进方法,其特征是步骤S4中,采用OCR引擎识别所选图像区域中的数字。
4.根据权利要求1所述的扫描纸质海图水深点自动矢量化及信息提取的改进方法,其特征是步骤S6中,空间位置比较步骤具体为:
如果NumStrm-1与NumStrm的左边距离Left满足下述情况,则进行相应处理:
C1、Abs(Leftm-Leftm-1)<20且Abs(Topm-Topm-1)<5,则NumStrm为该水深点的一个整数位数字,将NumStrm连接到DepStr:
进而,判断NumStrm是否为NumStr的最后一个数字,即判断m=n-1是否成立,如果成立,则DepStr为该水深点的完整数字序列,且无小数位,将DepStr转变为数值型即得到正确的水深点读数,同时获取其宽度w和高度h,比较结束,否则继续比较;
C2、Abs(Leftm-Leftm-1)<20且5<Abs(Topm-Topm-1)<15,则NumStrm为小数位,将NumStrm连接到DepStr,DepStr作为该水深点的完整数字序列,将DepStr转变为数值型并除以10即得到正确的水深点读数,同时获取其整数位宽度w和高度h;
判断m<n-1是否成立,如果成立,则对DepStr重新赋值为NumStrm+1,并令m=m+1,同时获取NumStrm+1的坐标位置,否则继续比较;
进而,判断NumStrm是否为NumStr的最后一个数字,即判断m=n-1是否成立,如果成立,则DepStr为该水深点的完整数字序列且数值为1位整数,将DepStr转变为数值型即得到正确的水深点读数,同时获取其宽度w和高度h,比较结束,否则继续比较;
C3、如果不满足C1、C2的两个初始判断条件,则DepStr为该水深点的完整数字序列,且无小数位,将DepStr转变为数值型即得到正确的水深点读数,同时获取其宽度w和高度h,获取NumStrm的坐标位置,对DepStr重新赋值为NumStrm;
进而,判断NumStrm是否为NumStr的最后一个数字,即判断m=n-1是否成立,如果成立,则DepStr为该水深点的完整数字序列,且无小数位,将DepStr转变为数值型即得到正确的水深点读数,获取其宽度w和高度h,比较结束,否则继续比较。
5.根据权利要求4所述的扫描纸质海图水深点自动矢量化及信息提取的改进方法,其特征是获取宽度w和高度h时,采用下述步骤:
若存在小数位,宽度w通过数字序列中倒数第二个数字的右边距离Right减去第一个数字的左边距离Left得到宽度w,高度h通过排除数字序列最后一个数字之后的全部数字中最大底边距离Bottom减去最小顶边距离Top得到;
若不存在小数位,宽度w通过数字序列中最后一个数字的右边距离Right减去第一个数字的左边距离Left得到,高度h通过数字序列中所有数字中最大底边距离Bottom减去最小顶边距离Top得到。
6.根据权利要求1所述的扫描纸质海图水深点自动矢量化及信息提取的改进方法,其特征是步骤S7具体包括:
S7.1、首先根据数字识别结果获取数字序列第一个数字左上角在所选图像区域中的坐标(x,y);
S7.2、采用下述公式计算整数位中心点在整幅海图中的坐标(Cx,Cy),即水深点的空间坐标:
Cx=X+(x+w/2)×Sx
Cy=Y-(y+h/2)×Sy
其中:X,Y表示框选的图像区域左上角的空间坐标;x,y表示数字序列第一个数字左上角在所选图像区域中的坐标,Sx、Sy表示x、y方向的像元大小,w表示水深点数值整数位宽度,h表示水深点数值整数位高度。
7.根据权利要求1所述的扫描纸质海图水深点自动矢量化及信息提取的改进方法,其特征是步骤S2中,事先依照几何校正后的海图数字格式创建的0至9十个数字模板图像。
8.根据权利要求1所述的扫描纸质海图水深点自动矢量化及信息提取的改进方法,其特征是步骤S9中,修正步骤为:
S9.1、用户在地图窗口中点击待修正的水深点,获取用户点击位置的空间坐标,比较用户点击位置的空间坐标与所有水深点的空间坐标之间的距离,距离最小者为待修正的水深点;
S9.2、操作人员手动录入水深点正确读数,根据所录入数字整数位,从0至9数字模板中读取相应的数字,若整数位只有1位只需读取其中一个数字模板图像,否则需要读取相应位数的数字模板图像,并合成为一个图像,获取整数位的宽度w和高度h;
S9.3、分别对所选图像区域和前述步骤获取的数字模板图像执行傅里叶变换得到各自的频谱图;
S9.4、对两个频谱图执行相关操作correlation,然后对相关操作correlation所得到的图像执行傅里叶逆变换,在用户点击位置附近搜索极大值点(x,y)即为待修正水深点整数位左上角在所选图像区域中的坐标(x,y);
S9.5、采用下述公式计算整数位中心点在整幅海图中的坐标(Cx,Cy),即水深点的空间坐标:
Cx=X+(x+w/2)×Sx
Cy=Y-(y+h/2)×Sy
其中:X,Y表示框选的图像区域左上角的空间坐标;x,y表示数字序列第一个数字左上角在所选图像区域中的坐标,Sx、Sy表示x、y方向的像元大小,w表示水深点数值整数位宽度,h表示水深点数值整数位高度;
S9.6、根据计算得到的(Cx,Cy)和操作人员录入的水深点读数,修改点矢量文件中对应的记录。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710480531.9A CN107239779B (zh) | 2017-06-22 | 2017-06-22 | 一种扫描纸质海图水深点自动矢量化及信息提取的改进方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710480531.9A CN107239779B (zh) | 2017-06-22 | 2017-06-22 | 一种扫描纸质海图水深点自动矢量化及信息提取的改进方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN107239779A true CN107239779A (zh) | 2017-10-10 |
CN107239779B CN107239779B (zh) | 2020-09-04 |
Family
ID=59986607
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710480531.9A Active CN107239779B (zh) | 2017-06-22 | 2017-06-22 | 一种扫描纸质海图水深点自动矢量化及信息提取的改进方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN107239779B (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112212868A (zh) * | 2020-12-14 | 2021-01-12 | 南京博纳威电子科技有限公司 | 一种电子海图综合信息集成显示装置及显示方法 |
CN112800167A (zh) * | 2021-04-13 | 2021-05-14 | 北京星天科技有限公司 | 一种数字海图制图工作量的评估方法和装置 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1804863A (zh) * | 2006-01-16 | 2006-07-19 | 浙江大学 | 纸质矢量地图自动数字化的方法 |
CN103456041A (zh) * | 2013-08-28 | 2013-12-18 | 中国人民解放军海军大连舰艇学院 | 一种基于s-57电子海图数据的三维地形和雷达地形生成方法 |
US20150149081A1 (en) * | 2013-11-22 | 2015-05-28 | Oscar L. Kramer, JR. | Methods for Enhancing the Display of Electronic Nautical Charts with Depths Corrected for Tide |
-
2017
- 2017-06-22 CN CN201710480531.9A patent/CN107239779B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1804863A (zh) * | 2006-01-16 | 2006-07-19 | 浙江大学 | 纸质矢量地图自动数字化的方法 |
CN103456041A (zh) * | 2013-08-28 | 2013-12-18 | 中国人民解放军海军大连舰艇学院 | 一种基于s-57电子海图数据的三维地形和雷达地形生成方法 |
US20150149081A1 (en) * | 2013-11-22 | 2015-05-28 | Oscar L. Kramer, JR. | Methods for Enhancing the Display of Electronic Nautical Charts with Depths Corrected for Tide |
Non-Patent Citations (5)
Title |
---|
YU YU ET AL.: "Spatial Indexing for Effective Visualization of Vector-based electronic nautical chart", 《2016 INTERNATIONAL CONFERENCE ON INDUSTRIAL INFORMATICS-COMPUTING TECHNOLOGY、INTELLIGENT TECHNOLOGY、INDUSTRIAL INFORMATION INTEGRATION》 * |
吴军: "扫描文档图像的处理方法的研究和应用", 《中国优秀硕士学位论文全文数据库 信息科技辑》 * |
朱颖 等: "数字海图水深的自动综合探讨", 《海洋测绘》 * |
胡勤友: "最小二乘平差在纸海图矢量化过程中的应用", 《交通部上海船舶运输科学研究所学报》 * |
陆晓鸣 等: "利用属性块定义实现海图水深标注的块插入", 《测绘通报》 * |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112212868A (zh) * | 2020-12-14 | 2021-01-12 | 南京博纳威电子科技有限公司 | 一种电子海图综合信息集成显示装置及显示方法 |
CN112800167A (zh) * | 2021-04-13 | 2021-05-14 | 北京星天科技有限公司 | 一种数字海图制图工作量的评估方法和装置 |
CN112800167B (zh) * | 2021-04-13 | 2021-06-29 | 北京星天科技有限公司 | 一种数字海图制图工作量的评估方法和装置 |
Also Published As
Publication number | Publication date |
---|---|
CN107239779B (zh) | 2020-09-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106156761B (zh) | 面向移动终端拍摄的图像表格检测与识别方法 | |
US10289924B2 (en) | System and method for scanned document correction | |
NO20161728A1 (en) | Written text transformer | |
CN111046462A (zh) | 一种室外建筑设计用图纸展示系统及方法 | |
CN113628291B (zh) | 基于边界提取与合并的多形状目标栅格数据矢量化方法 | |
CN102013015A (zh) | 一种面向对象的遥感影像海岸线提取方法 | |
CN103914618A (zh) | 一种基于电子海图的海水深度等值线生成方法 | |
CN110180186A (zh) | 一种地形图转换方法及系统 | |
JP4772819B2 (ja) | 画像検索装置および画像検索方法 | |
US11514660B1 (en) | Scene recognition method, training method and device based on pyramid attention | |
CN112597998A (zh) | 一种基于深度学习的扭曲图像矫正方法、装置和存储介质 | |
CN107239779A (zh) | 一种扫描纸质海图水深点自动矢量化及信息提取的改进方法 | |
CN112199886B (zh) | 一种prb数据深度学习地质图预测模型的处理方法 | |
CN116385810A (zh) | 一种基于YOLOv7的小目标检测方法及系统 | |
Frischknecht et al. | Automatic interpretation of scanned topographic maps: A raster-based approach | |
CN113221773B (zh) | 基于遥感影像快速构建飞机分类数据集的方法 | |
CN110210467A (zh) | 一种文本图像的公式定位方法、图像处理装置、存储介质 | |
CN111444903B (zh) | 漫画气泡内文字定位方法、装置、设备及可读存储介质 | |
CN105740878A (zh) | 地理信息系统的符号识别方法和装置 | |
CN112163374A (zh) | 一种多模态数据中间层融合全连接地质图预测模型的处理方法 | |
CN106157284B (zh) | 图像中文字区域的定位方法及装置 | |
CN107301397A (zh) | 一种扫描纸质海图水深点自动矢量化及信息提取方法 | |
CN111652244A (zh) | 一种基于无监督特征提取和匹配的指针式表计识别方法 | |
CN116612296A (zh) | 一种基于人工智能的集装箱周转管理方法及系统 | |
CN102706326B (zh) | 光束法空中三角测量文件数据处理方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |