本发明涉及图像处理领域,特别涉及一种界线地图检查修复系统及方法。
背景技术:
1、在绘制界线电子地图时,由于人眼很难识别出微小像素元的填色情况,会存在肉眼看上去界线是连贯的,但实际上某些细微处的界线并没有连贯的问题。标记界线的像素单元是填色的,界线的宽度介于像素单元的宽度和像素单元的对角线长度之间。为了检测电子地图中的某条界线连贯情况,以及对这条未连贯的界线进行修复,需要设计一种界线地图检查修复系统及方法,对电子地图中的某条界线进行连贯性检查及修复。
技术实现思路
1、所以,本发明为了检测电子地图中某条界线连贯情况,以及对这条未连贯的界线进行修复,设计了一种界线地图检查修复系统及方法。
2、本发明所采用的技术方案是:一种界线地图检查修复系统:
3、包括图形简化模块、坐标建立模块、左侧断点识别模块、右侧断点识别模块、修复模块。
4、所述图形简化模块将待测界线所在区域中的像素单元进行合并简化,具体方式为:
5、(1)将四个互相临接的正方形的像素单元组合成正方形的计算单元,临接的形式包括边线相邻和角相邻;计算单元的组合形式共有6种类型:
6、①左上像素单元填色、右上像素单元填色、左下像素单元空白、右下像素单元空白,此种计算单元类型标记为1100;
7、②左上像素单元填色、右上像素单元空白、左下像素单元填色、右下像素单元空白,此种计算单元类型标记为1010;
8、③左上像素单元填色、右上像素单元空白、左下像素单元空白、右下像素单元填色,此种计算单元类型标记为1001;
9、④左上像素单元空白、右上像素单元填色、左下像素单元空白、右下像素单元填色,此种计算单元类型标记为0101;
10、⑤左上像素单元空白、右上像素单元填色、左下像素单元填色、右下像素单元空白,此种计算单元类型标记为0110;
11、⑥左上像素单元空白、右上像素单元空白、左下像素单元填色、右下像素单元填色,此种计算单元类型标记为0011;
12、(2)除了以上6种计算单元类型外,还存在以下4种边缘单元,边缘单元也是由四个互相临接的正方形的像素单元组合成的正方形单元,包括:
13、① 左上像素单元填色、右上像素单元空白、左下像素单元空白、右下像素单元空白,此种计算单元类型标记为1000;
14、②左上像素单元空白、右上像素单元填色、左下像素单元空白、右下像素单元空白,此种计算单元类型标记为0100;
15、③左上像素单元空白、右上像素单元空白、左下像素单元填色、右下像素单元空白,此种计算单元类型标记为0010;
16、④左上像素单元空白、右上像素单元空白、左下像素单元空白、右下像素单元填色,此种计算单元类型标记为0001;
17、(3)将边缘单元全部替换为空白单元,空白单元也是由四个互相临接的正方形的像素单元组合成的正方形单元,正方形单元的左上像素单元空白、右上像素单元空白、左下像素单元空白、右下像素单元空白,此种计算单元类型标记为0000。
18、所述坐标建立模块以待测界线所在区域的最靠左下方的计算单元的左下角为原点,以原点水平向右为x轴,以原点竖直向上为y轴,以x轴上的计算单元的自原点向右的次序为x坐标值,以y轴上的计算单元的自原点向上的次序为y坐标值,例如:自原点向右的第100个、自原先向上的第200个计算单元的坐标为(100,200)。
19、所述左侧断点识别模块用于识别界线的左侧断点,在x轴正向和y轴正向之间的区域的中由左向右逐列扫描,从最靠左的第一个计算单元开始,逐个检查每个计算单元的右侧(x轴坐标加1,y轴坐标不变)、右上(x轴坐标加1,y轴坐标加1)、右下(x轴坐标加1,y轴坐标减1)临接计算单元类型来判定界线是否连贯,具体方式为:
20、(1)计算单元1100的右侧可以临接的计算单元类型包括1100、1010、1001、0110、0011;右上可以临接的计算单元类型包括1010、0110、0011;右下没有可以临接的计算单元类型;
21、(2)计算单元1010的右侧、右上、右下均没有可以临接的计算单元类型;
22、(3)计算单元1001的右侧可以临接的计算单元类型包括1100、1010、1001、0110、0011;右上没有可以临接的计算单元类型;右下可以临接的计算单元类型包括1100、1010、1001;
23、(4)计算单元0101的右侧可以临接的计算单元类型包括1100、1001、0110、0011;右上可以临接的计算单元类型包括1010、0110、0011;右下可以临接的计算单元类型包括1100、1010、1001;
24、(5)计算单元0110的右侧可以临接的计算单元类型包括1100、1010、1001、0110、0011;右上可以临接的计算单元类型包括1010、0110、0011;右下没有可以临接的计算单元类型;
25、(6)计算单元0011的右侧可以临接的计算单元类型包括1100、1010、1001、0110、0011;右上没有可以临接的计算单元类型;右下可以临接的计算单元类型包括1100、1010、1001。
26、以上6种计算单元类型的右上、右侧、右下均没有可以临接的计算单元时,判定此计算单元位于界线的左侧断点处。
27、所述右侧断点识别模块用于识别界线的右侧断点,在x轴正向和y轴正向之间的区域中由右向左逐列扫描,从最靠右的第一个计算单元开始,逐个检查每个计算单元的左侧(x轴坐标减1,y轴坐标不变)、左上(x轴坐标减1,y轴坐标加1)、左下(x轴坐标减1,y轴坐标减1)临接计算单元类型来判定界线是否连贯,具体方式为:
28、(1)计算单元1100的左侧可以临接的计算单元类型包括1100、1001、0101、0110、0011;左上可以临接的计算单元类型包括1001、0101、0011;左下没有可以临接的计算单元类型;
29、(2)计算单元1010的左侧可以临接的计算单元类型包括1100、1001、0110、0011;左上可以临接的计算单元类型包括1001、0101、0011;左下可以临接的计算单元类型包括1100、1010、0110;
30、(3)计算单元1001的左侧可以临接的计算单元类型包括1100、1001、0101、0110、0011;左上可以临接的计算单元类型包括1001、0101、0011;左下没有可以临接的计算单元类型;
31、(4)计算单元0101的左侧、左上、左下均没有可以临接的计算单元类型;
32、(5)计算单元0110的左侧可以临接的计算单元类型包括1100、1001、0101、0110、0011;左上没有可以临接的计算单元类型;左下可以临接的计算单元类型包括1100、0101、0110;
33、(6)计算单元0011的左侧可以临接的计算单元类型包括1100、1001、0101、0110、0011;左上没有可以临接的计算单元类型;左下可以临接的计算单元类型包括1100、0101、0110。
34、以上6种计算单元类型的左上、左侧、左下均没有可以临接的计算单元时,判定此计算单元位于界线的右侧断点处。
35、所述修复模块用于修补左、右界线断点至连贯,其方式为:
36、(1)当左侧断点计算单元的x轴坐标大于右侧断点计算单元的x轴坐标时:
37、①左侧断点计算单元类型先替换成空白单元,右侧断点计算单元的类型再替换成空白单元,如此反复直至左侧断点计算单元的x轴坐标等于右侧断点计算单元的x轴坐标;
38、②当y轴坐标大的断点计算单元类型为1100时,替换为1001;
39、③当y轴坐标小的断点计算单元类型为0011时,替换为0110;
40、④两处断点计算单元之间的空白单元,自下而上先替换成1010类型的计算单元,再替换成0101类型的计算单元,直至断点修复。
41、(2) 当左侧断点计算单元的x轴坐标等于右侧断点计算单元的x轴坐标时:
42、①当y轴坐标大的断点计算单元类型为1100时,替换为1001;
43、②当y轴坐标小的断点计算单元类型为0011时,替换为0110;
44、③两处断点计算单元之间的空白单元,自下而上先替换成1010类型的计算单元,再替换成0101类型的计算单元,直至断点修复。
45、(3) 当左侧断点计算单元的x轴坐标小于右侧断点计算单元的x轴坐标时:
46、①当左侧断点计算单元类型为1010时,替换为1001;
47、②当右侧断点计算单元类型为0101时,替换为0110;
48、③完成①②的基础上,仅利用左侧断点识别模块或者仅利用右侧断点识别模块依然能识别出断点时:
49、④左侧断点计算单元和右侧断点计算单元的y轴坐标相同,先在左侧断点计算单元的右侧复用左侧断点计算单元类型,然后在右侧断点计算单元的左侧复用右侧断点计算单元类型;如此重复直至断点修补完成;
50、⑤左侧断点计算单元的y轴坐标小于右侧断点计算单元的y轴坐标,左侧断点计算单元右上空白单元不断替换成0110,直至左侧断点计算单元的y轴坐标等于右侧断点计算单元的y轴坐标,最后采用④的方式修补断点;
51、⑥左侧断点计算单元的y轴坐标大于右侧断点计算单元的y轴坐标,左侧断点计算单元右下空白单元不断替换成1001,直至左侧断点计算单元的y轴坐标等于右侧断点计算单元的y轴坐标,最后采用④的方式修补断点。
52、一种界线地图检查修复方法,其特征在于:
53、步骤1,将待测界线所在区域中的像素单元进行合并简化,具体方式为:
54、(1)将四个互相临接的正方形的像素单元组合成正方形的计算单元,临接的形式包括边线相邻和角相邻;计算单元的组合形式共有6种类型:
55、①左上像素单元填色、右上像素单元填色、左下像素单元空白、右下像素单元空白,此种计算单元类型标记为1100;
56、②左上像素单元填色、右上像素单元空白、左下像素单元填色、右下像素单元空白,此种计算单元类型标记为1010;
57、③左上像素单元填色、右上像素单元空白、左下像素单元空白、右下像素单元填色,此种计算单元类型标记为1001;
58、④左上像素单元空白、右上像素单元填色、左下像素单元空白、右下像素单元填色,此种计算单元类型标记为0101;
59、⑤左上像素单元空白、右上像素单元填色、左下像素单元填色、右下像素单元空白,此种计算单元类型标记为0110;
60、⑥左上像素单元空白、右上像素单元空白、左下像素单元填色、右下像素单元填色,此种计算单元类型标记为0011;
61、(2)除了以上6种计算单元类型外,还存在以下4种边缘单元,边缘单元也是由四个互相临接的正方形的像素单元组合成的正方形单元,包括:
62、① 左上像素单元填色、右上像素单元空白、左下像素单元空白、右下像素单元空白,此种计算单元类型标记为1000;
63、②左上像素单元空白、右上像素单元填色、左下像素单元空白、右下像素单元空白,此种计算单元类型标记为0100;
64、③左上像素单元空白、右上像素单元空白、左下像素单元填色、右下像素单元空白,此种计算单元类型标记为0010;
65、④左上像素单元空白、右上像素单元空白、左下像素单元空白、右下像素单元填色,此种计算单元类型标记为0001;
66、(3)将边缘单元全部替换为空白单元,空白单元也是由四个互相临接的正方形的像素单元组合成的正方形单元,正方形单元的左上像素单元空白、右上像素单元空白、左下像素单元空白、右下像素单元空白,此种计算单元类型标记为0000。
67、步骤2,以待测界线所在区域的最靠左下方的计算单元的左下角为原点,以原点水平向右为x轴,以原点竖直向上为y轴,以x轴上的计算单元的自原点向右的次序为x坐标值,以y轴上的计算单元的自原点向上的次序为y坐标值,例如:自原点向右的第100个、自原先向上的第200个计算单元的坐标为(100,200)。
68、步骤3,识别界线的左侧断点,在x轴正向和y轴正向之间的区域的中由左向右逐列扫描,从最靠左的第一个计算单元开始,逐个检查每个计算单元的右侧(x轴坐标加1,y轴坐标不变)、右上(x轴坐标加1,y轴坐标加1)、右下(x轴坐标加1,y轴坐标减1)临接计算单元类型来判定界线是否连贯,具体方式为:
69、(1)计算单元1100的右侧可以临接的计算单元类型包括1100、1010、1001、0110、0011;右上可以临接的计算单元类型包括1010、0110、0011;右下没有可以临接的计算单元类型;
70、(2)计算单元1010的右侧、右上、右下均没有可以临接的计算单元类型;
71、(3)计算单元1001的右侧可以临接的计算单元类型包括1100、1010、1001、0110、0011;右上没有可以临接的计算单元类型;右下可以临接的计算单元类型包括1100、1010、1001;
72、(4)计算单元0101的右侧可以临接的计算单元类型包括1100、1001、0110、0011;右上可以临接的计算单元类型包括1010、0110、0011;右下可以临接的计算单元类型包括1100、1010、1001;
73、(5)计算单元0110的右侧可以临接的计算单元类型包括1100、1010、1001、0110、0011;右上可以临接的计算单元类型包括1010、0110、0011;右下没有可以临接的计算单元类型;
74、(6)计算单元0011的右侧可以临接的计算单元类型包括1100、1010、1001、0110、0011;右上没有可以临接的计算单元类型;右下可以临接的计算单元类型包括1100、1010、1001;
75、以上6种计算单元类型的右上、右侧、右下均没有可以临接的计算单元时,判定此计算单元位于界线的左侧断点处。
76、步骤4,识别界线的右侧断点,在x轴正向和y轴正向之间的区域中由右向左逐列扫描,从最靠右的第一个计算单元开始,逐个检查每个计算单元的左侧(x轴坐标减1,y轴坐标不变)、左上(x轴坐标减1,y轴坐标加1)、左下(x轴坐标减1,y轴坐标减1)临接计算单元类型来判定界线是否连贯,具体方式为:
77、(1)计算单元1100的左侧可以临接的计算单元类型包括1100、1001、0101、0110、0011;左上可以临接的计算单元类型包括1001、0101、0011;左下没有可以临接的计算单元类型;
78、(2)计算单元1010的左侧可以临接的计算单元类型包括1100、1001、0110、0011;左上可以临接的计算单元类型包括1001、0101、0011;左下可以临接的计算单元类型包括1100、1010、0110;
79、(3)计算单元1001的左侧可以临接的计算单元类型包括1100、1001、0101、0110、0011;左上可以临接的计算单元类型包括1001、0101、0011;左下没有可以临接的计算单元类型;
80、(4)计算单元0101的左侧、左上、左下均没有可以临接的计算单元类型;
81、(5)计算单元0110的左侧可以临接的计算单元类型包括1100、1001、0101、0110、0011;左上没有可以临接的计算单元类型;左下可以临接的计算单元类型包括1100、0101、0110;
82、(6)计算单元0011的左侧可以临接的计算单元类型包括1100、1001、0101、0110、0011;左上没有可以临接的计算单元类型;左下可以临接的计算单元类型包括1100、0101、0110;
83、以上6种计算单元类型的左上、左侧、左下均没有可以临接的计算单元时,判定此计算单元位于界线的右侧断点处。
84、步骤5,修补左、右界线断点至连贯,其方式为:
85、(1)当左侧断点计算单元的x轴坐标大于右侧断点计算单元的x轴坐标时:
86、①左侧断点计算单元类型先替换成空白单元,右侧断点计算单元的类型再替换成空白单元,如此反复直至左侧断点计算单元的x轴坐标等于右侧断点计算单元的x轴坐标;
87、②当y轴坐标大的断点计算单元类型为1100时,替换为1001;
88、③当y轴坐标小的断点计算单元类型为0011时,替换为0110;
89、④两处断点计算单元之间的空白单元,自下而上先替换成1010类型的计算单元,再替换成0101类型的计算单元,直至断点修复。
90、(2) 当左侧断点计算单元的x轴坐标等于右侧断点计算单元的x轴坐标时:
91、①当y轴坐标大的断点计算单元类型为1100时,替换为1001;
92、②当y轴坐标小的断点计算单元类型为0011时,替换为0110;
93、③两处断点计算单元之间的空白单元,自下而上先替换成1010类型的计算单元,再替换成0101类型的计算单元,直至断点修复。
94、(3) 当左侧断点计算单元的x轴坐标小于右侧断点计算单元的x轴坐标时:
95、①当左侧断点计算单元类型为1010时,替换为1001;
96、②当右侧断点计算单元类型为0101时,替换为0110;
97、③完成①②的基础上,仅利用左侧断点识别模块或者仅利用右侧断点识别模块依然能识别出断点时:
98、④左侧断点计算单元和右侧断点计算单元的y轴坐标相同,先在左侧断点计算单元的右侧复用左侧断点计算单元类型,然后在右侧断点计算单元的左侧复用右侧断点计算单元类型;如此重复直至断点修补完成;
99、⑤左侧断点计算单元的y轴坐标小于右侧断点计算单元的y轴坐标,左侧断点计算单元右上空白单元不断替换成0110,直至左侧断点计算单元的y轴坐标等于右侧断点计算单元的y轴坐标,最后采用④的方式修补断点;
100、⑥左侧断点计算单元的y轴坐标大于右侧断点计算单元的y轴坐标,左侧断点计算单元右下空白单元不断替换成1001,直至左侧断点计算单元的y轴坐标等于右侧断点计算单元的y轴坐标,最后采用④的方式修补断点。
101、本发明一种界线地图检查修复系统及方法具有如下优点:
102、(1)将界线涉及的像素的排布方式归纳总结成6种计算单元类型,极大提升计算速度;
103、(2)通过识别每种计算单元的临接计算单元类型判断界线的连贯性,创新性强;
104、(3)通过断点处计算单元类型的替换以优化界线断点,并分情况对断点进行修复,实用新颖。
105、本发明的其他特征和优点将在随后的说明书中阐述,或者通过实施本发明而了解。