一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种图纸中的构件绘制方法、系统及电子设备与流程

2022-03-04 23:45:38 来源:中国专利 TAG:


1.本发明涉及数据处理技术领域,具体涉及一种图纸中的构件绘制方法、系统及电子设备。


背景技术:

2.在建筑领域,建筑图纸通常是采用dwg格式导入软件中。这种格式的图纸中,可以通过不同的颜色来表示不同的图层。同时,图纸中的线条都是采用矢量图进行显示,从而能够清楚地表示图纸中构件所处的位置和尺寸等信息。
3.然而,在某些场景下,建筑图纸是通过pdf格式来表示的。在pdf格式的图纸中,所有的构件都堆叠在一起。在实际应用中,针对这种格式的图纸,通常都是采用手绘的方式进行建模。具体地,建模人员需要识别出构件在图纸中所处的位置,然后手动在软件中绘制出对应的构件。这种绘制方式无疑具备较低的效率。


技术实现要素:

4.有鉴于此,本发明实施方式提供了一种图纸中的构件绘制方法、系统及电子设备,能够提高构件绘制的效率。
5.本发明一方面提供了一种图纸中的构件绘制方法,所述方法包括:针对图纸中待处理的目标区域,提取所述目标区域中构件的轮廓链;对所述轮廓链进行直线拟合,以将所述轮廓链拆解为多条线段;根据拆解得到的各条线段,确定所述轮廓链对应的交点,并根据所述交点绘制对应的构件。
6.本技术中可以提取目标区域中构件的轮廓链,该轮廓链可以表征构件的形状。通过对轮廓链进行直线拟合,可以将轮廓链拆解为多个线段。各条线段形成的交点可以作为构件所处的准确位置。上述识别交点的过程可以通过图像处理的方式自动实现,通过识别出的交点来绘制构件,不仅具备较高的效率,同时也具备较高的准确度。
7.在一个实施方式中,在提取所述目标区域中构件的轮廓链之前,所述方法还包括:针对所述构件上的任一目标像素点,提取所述目标像素点的邻域,并基于所述邻域内包含的像素点,判断所述目标像素点是否为可去除的像素点;若是,从所述构件上去除所述目标像素点。
8.通过对目标区域中构件的像素点进行精简处理,可以减少需要处理的数据量,从而提高数据处理的效率。
9.在一个实施方式中,提取所述目标区域中构件的轮廓链包括:利用轮廓提取函数将所述构件上的像素点按照指定顺序进行链接,以形成所述构件的轮廓链。
10.轮廓链是由构件上的像素点按序链接得到的,后续可以根据像素点的顺序进行直线拟合,从而提高了直线拟合的效率。
11.在一个实施方式中,对所述轮廓链进行直线拟合包括:以所述轮廓链的起始点和终止点为端点,构造辅助线段;计算所述轮廓链中各个像素点到所述辅助线段的距离,若距
离的最大值大于或者等于指定距离阈值,以所述距离的最大值对应的像素点为临界点,将所述轮廓链拆分为多个子轮廓链,并分别对各个所述子轮廓链进行直线拟合。
12.通过计算轮廓链中各个像素点与辅助线段的距离,可以判断该辅助线段是否能够作为拟合得到的线段。如果距离的最大值大于或者等于指定距离阈值,表明该辅助线段无法作为拟合得到的线段,此时可以将原先的轮廓链进行拆分,并对拆分后的子轮廓链继续进行直线拟合。通过将轮廓链进行拆分的方式,可以提高数据处理的速率。
13.在一个实施方式中,所述方法还包括:若所述距离的最大值小于所述指定距离阈值,将所述辅助线段作为拆解得到的线段。
14.如果距离的最大值小于指定距离阈值,表明此时的辅助线段可以作为拟合得到的线段。通过距离的判定,可以提高线段的拟合准确度。
15.在一个实施方式中,确定所述轮廓链对应的交点包括:识别所述各条线段之间的交点,并确定各个所述交点与所述目标区域的中心点之间的距离,以基于确定的所述距离从各个所述交点中筛选出目标交点,并将所述目标交点作为所述轮廓链对应的交点。
16.在目标区域内,可以按照到目标区域的中心点之间的距离来筛选交点,从而有选择地向用户反馈所需的交点。
17.在一个实施方式中,基于确定的所述距离从各个所述交点中筛选出目标交点包括:识别所述距离中的最小距离,若所述最小距离小于指定阈值,将所述最小距离对应的交点作为筛选出的目标交点。
18.将最小距离对应的交点反馈给用户,可以保证自动向用户反馈鼠标位置附近的交点,从而提高用户的操作体验。
19.在一个实施方式中,提取所述目标区域中构件的轮廓链包括:在所述目标区域中的构件上提取边缘像素点,并利用轮廓提取函数将各个所述边缘像素点按照指定顺序进行链接,以形成所述构件的轮廓链。
20.通过边缘像素点来形成构件的轮廓链,可以保证轮廓链与构件的真实形状具备较高的匹配度,从而提高后续交点识别的准确度。
21.在一个实施方式中,根据拆解得到的各条线段,确定所述轮廓链对应的交点包括:将拆解得到的各条线段中互相平行的线段划分至同一个线段组中;对同一个线段组中的线段进行配对,并针对完成配对的线段生成对应的中心线;确定各个所述中心线的交点,并从各个所述中心线的交点中筛选出所述轮廓链对应的交点。
22.相互平行的线段可以通过中心线来确定交点,从而提高交点的识别准确度。
23.在一个实施方式中,对同一个线段组中的线段进行配对包括:针对同一个线段组中的任一目标线段,从所述目标线段的中心点开始沿所述目标线段的梯度方向搜寻,并将搜寻到的第一个线段作为与所述目标线段相匹配的线段。
24.沿目标线段的梯度方向搜寻第一个线段,可以避免重复的搜寻过程,从而提高数据处理的效率。
25.在一个实施方式中,在提取所述目标区域中构件的轮廓链之前,所述方法还包括:计算所述目标区域的灰度共生矩阵,并根据所述灰度共生矩阵的特征值识别所述目标区域中的填充区域;提取所述目标区域中构件的轮廓链包括:识别所述填充区域的边缘像素点,并利用轮廓提取函数将各个所述边缘像素点按照指定顺序进行链接,以形成所述构件的轮
廓链。
26.基于灰度共生矩阵的特征值可以准确地识别出填充区域,针对填充区域可以根据边缘像素点来生成轮廓链,从而提高后续交点的识别准确度。
27.本发明另一方面还提供了一种图纸中的构件绘制系统,所述系统包括:轮廓链提取单元,用于针对图纸中待处理的目标区域,提取所述目标区域中构件的轮廓链;直线拟合单元,用于对所述轮廓链进行直线拟合,以将所述轮廓链拆解为多条线段;交点识别单元,用于根据拆解得到的各条线段,确定所述轮廓链对应的交点,并根据所述交点绘制对应的构件。
28.本发明另一方面还提供了一种电子设备,所述电子设备包括存储器和处理器,所述存储器用于存储计算机程序,所述计算机程序被所述处理器执行时,实现上述的图纸中的构件绘制方法。
29.本发明另一方面还提供了一种计算机存储介质,所述计算机存储介质用于存储计算机程序,所述计算机程序被处理器执行时,实现上述的图纸中的构件绘制方法。
附图说明
30.通过参考附图会更加清楚的理解本发明的特征和优点,附图是示意性的而不应理解为对本发明进行任何限制,在附图中:
31.图1示出了本发明一个实施方式中图纸中的构件绘制方法步骤示意图;
32.图2(a)示出了本发明一个实施方式中构件的线条示意图;
33.图2(b)示出了本发明一个实施方式中开运算后的构件的线条示意图;
34.图3示出了本发明一个实施方式中轮廓链的示意图;
35.图4(a)示出了本发明一个实施方式中辅助线段的示意图;
36.图4(b)示出了本发明一个实施方式中拆分得到的第一个子轮廓链的示意图;
37.图4(c)示出了本发明一个实施方式中拆分得到的第二个子轮廓链的示意图;
38.图5示出了本发明一个实施方式中根据中心线进行交点识别的流程图;
39.图6示出了本发明一个实施方式中图纸中的构件绘制系统的功能模块示意图;
40.图7示出了本发明一个实施方式中电子设备的结构示意图。
具体实施方式
41.为使本发明实施方式的目的、技术方案和优点更加清楚,下面将结合本发明实施方式中的附图,对本发明实施方式中的技术方案进行清楚、完整地描述,显然,所描述的实施方式是本发明一部分实施方式,而不是全部的实施方式。基于本发明中的实施方式,本领域技术人员在没有作出创造性劳动前提下所获得的所有其他实施方式,都属于本发明保护的范围。
42.本技术提供的图纸中的构件绘制方法,可以应用于计算机辅助软件,或者运行该计算机辅助软件的电子设备中。在计算机辅助软件中,可以展示pdf格式的图纸。当然,在实际应用中,本技术的技术方案并不局限于pdf格式,而是可以适用于各式各样的图纸格式中,只要该图纸格式能够展示构件的线条即可。
43.请参阅图1,本技术一个实施方式中提供的图纸中的构件绘制方法,可以包括以下
多个步骤。
44.s1:针对图纸中待处理的目标区域,提取所述目标区域中构件的轮廓链。
45.在本实施方式中,图纸中待处理的目标区域可以是以鼠标位置为中心的一定范围内的区域。通过对目标区域中的图像进行处理,可以向用户反馈与鼠标位置最近的交点。
46.请参阅图2(a),通常而言,构件在图纸中成像后,线条的宽度通常都是由多像素点(黑色像素点)构成的,并非只是单像素点。在这种情况下,构件的边缘会参差不齐,并且有的线条中会存在孔洞。为了提高后续数据处理的精度,可以对目标区域中的图像进行预处理,以平滑线条的边缘,同时填充线条中的孔洞。
47.在实际应用中,可以采用开运算对目标区域中的图像进行处理。具体地,开运算可以包括图像腐蚀(erosion)和图像膨胀(dilation)的操作。通过对目标区域的图像先后进行腐蚀和膨胀操作后,可以将参差不齐的线条边缘处理得更加平滑,同时也能够对部分的孔洞进行填充。如果经过开运算之后,构件的线条中依然存在面积较小的孔洞,可以通过图像连通域分析的方式,确定出这些面积较小的孔洞,并利用黑色像素点进行填充。最终,可以处理得到如图2(b)所示的结果。
48.通过图2(b)可见,构件的线条通常具备一定的宽度,为了减少需要处理的数据量,可以对构件的线条进行精简处理。该精简处理的目的是将构件的线条通过单个像素点来表示。具体地,可以保留线条的中轴线处的像素点,而去除线条上其它位置的像素点,从而达到精简线条的目的。
49.在一个实施方式中,可以通过邻域判定的方式对构件的线条进行精简。针对构件上的任一目标像素点,可以提取该目标像素点的邻域。具体地,邻域的范围可以是预先设置的,例如,邻域可以指以目标像素点为中心的3*3的像素矩阵。基于邻域内包含的像素点,可以判断目标像素点是否为可去除的像素点。具体地,若目标像素点处于线条的中轴线上,邻域内往往会包含较多的黑色像素点,而如果目标像素点处于线条的边缘位置,邻域内会包含一定数量的白色像素点。鉴于此,通过识别白色像素点在邻域内所占的比例,可以判断出该目标像素点是位于中轴线还是位于边缘。其中,位于边缘的目标像素点可以作为可去除的像素点。如果判定目标像素点为可去除的像素点,则可以从构件上去除该目标像素点。通过遍历构件上的各个像素点,可以将边缘的像素点均去除,从而达到精简的目的。
50.在本实施方式中,在对构件的线条进行分析之前,可以提取构件的轮廓链,该轮廓链可以由构件上的像素点按照指定顺序进行链接得到。具体地,可以采用opencv中的轮廓提取函数findcontours(),将构件上的像素点提取为一串有序的轮廓链。例如在图3中,提取得到的轮廓链中,像素点可以按照箭头所指的方向进行链接。在该轮廓链中,可以包括起始点和终止点。
51.s3:对所述轮廓链进行直线拟合,以将所述轮廓链拆解为多条线段。
52.在本实施方式中,为了有效地识别出目标区域内构件的交点,可以对构件的轮廓链进行直线拟合,从而将轮廓链拆解为多条线段。
53.具体地,请参阅图4(a),以轮廓链的起始点和终止点为端点,构造辅助线段。该辅助线段可以是图4(a)中较粗的线段(为了便于观看,该辅助线段与原先的线段之间存在一定的间隔,但实际上该辅助线段应当与原先的线段重合)。然后可以计算轮廓链中各个像素点到该辅助线段的距离。像素点到该辅助线段的距离可以是从像素点向该辅助线段所在的
直线作垂线,得到的垂线段的长度。然后,可以筛选出距离的最大值,然后将该距离的最大值与指定距离阈值进行对比。若该距离的最大值大于或者等于指定距离阈值,表明轮廓链还需要进一步进行拆分。此时,以该距离的最大值对应的像素点为临界点,可以将轮廓链拆分为多个子轮廓链,并分别对各个子轮廓链进行直线拟合。
54.举例来说,图4(a)中距离的最大值对应的像素点被标注为转折点,从原先的起始点到该转折点,可以拆分得到图4(b)所示的第一个子轮廓链,在第一个子轮廓链中,转折点就成为了终止点。从转折点到原先的终止点,可以拆分得到图4(c)所示的第二个子轮廓链,在第二个子轮廓链中,转折点就成为了起始点。
55.后续,针对每个子轮廓链,可以继续按照上述的方式判断,子轮廓链是否需要进一步进行拆分。通过这种逐级拆分的形式,最终会得到距离的最大值小于上述的指定距离阈值,这样,辅助线段就可以作为轮廓链中拆解得到的线段。例如,图4(a)所示的轮廓链最终会被拆解为编号为1至4的四条线段。
56.s5:根据拆解得到的各条线段,确定所述轮廓链对应的交点,并根据所述交点绘制对应的构件。
57.在本实施方式中,将轮廓链拆解为多个线段后,可以识别各条线段之间的交点。这些交点都可以表征构件的真实位置,基于这些交点绘制构件可以达到较高的建模精度。
58.为了向用户反馈与鼠标位置比较接近的交点,可以确定各个交点与目标区域的中心点之间的距离。其中,目标区域的中心点就可以是鼠标位置,基于确定的距离可以从各个交点中筛选出目标交点,并将该目标交点作为轮廓链对应的交点反馈给用户。具体地,在计算出各个交点与中心点的距离后,可以识别距离中的最小距离,若该最小距离小于指定阈值,表明该交点与鼠标位置比较接近,此时可以将该最小距离对应的交点作为筛选出的目标交点反馈给用户。
59.可见,本技术中可以提取目标区域中构件的轮廓链,该轮廓链可以表征构件的形状。通过对轮廓链进行直线拟合,可以将轮廓链拆解为多个线段。各条线段形成的交点可以作为构件所处的准确位置。上述识别交点的过程可以通过图像处理的方式自动实现,通过识别出的交点来绘制构件,不仅具备较高的效率,同时也具备较高的准确度。
60.在实际应用中,对构件的线条进行精简处理后,得到的线条可能会偏离原先线条的中心线,从而导致后续的交点无法准确识别。鉴于此,在一个实施方式中,在提取目标区域中构件的轮廓链时,可以在构件上提取边缘像素点,并利用轮廓提取函数将各个边缘像素点按照指定顺序进行链接,以形成构件的轮廓链。通过边缘像素点来生成构件的轮廓链,可以准确地描述构件线条原本的形状。
61.请参阅图5,在根据提取的边缘像素点生成构件的轮廓链后,可以按照上述的方式对轮廓链进行直线拟合,从而拆解得到轮廓链对应的多条线段。基于边缘像素点生成的轮廓链中,会存在一些相互平行的线段。为了避免识别出冗余的交点,可以对平行的线段进行配对,并基于配对后的结果进行交点识别。
62.具体地,可以将拆解得到的各条线段中互相平行的线段划分至同一个线段组中,然后对同一个线段组中的线段进行配对,并针对完成配对的线段生成对应的中心线。该中心线可以折中地表征相互平行的两个线段的位置。最终,可以确定各个中心线的交点,并从各个中心线的交点中筛选出轮廓链对应的交点。
63.在实际应用中,在对同一个线段组中的各条线段进行配对时,可以先按照长度对线段进行排序,然后按照从短到长的顺序,依次对各个线段进行配对。具体地,针对同一个线段组中的任一目标线段,可以从该目标线段的中心点开始沿目标线段的梯度方向搜寻。该梯度方向可以指与目标线段相垂直的方向。搜寻到的第一个线段就可以作为与该目标线段相匹配的线段,这样,通过梯度搜寻的方式,可以对线段完成配对。
64.在一个实施方式中,针对配对后的线段生成中心线后,可以将共线的多条中心线合并为一条,从而减少需要处理的数据量。对中心线合并后,便可以确定各条中心点的交点。确定出的交点,可以按照上述方式,依次计算出与中心点的距离,并根据距离判断是否需要向用户反馈交点。
65.在实际应用中,某些构件中会存在填充区域,该填充区域通常是为了表征图元的材质,而采用不同形式的填充图案填充得到的。针对填充区域,可以提取边缘像素点,并根据边缘像素点构成的线段进行交点识别。
66.具体地,可以计算目标区域的灰度共生矩阵,并根据灰度共生矩阵的特征值识别目标区域中的填充区域。在计算灰度共生矩阵时,可以采用5*5的邻域进行计算,同时为了兼容灰度的微小变化以及减少矩阵的大小,可以将各个目标区域中各个像素点的灰度值除以32来计算。在实际应用中,可以计算四个方向的灰度共生矩阵,这四个方向的均值可以代表目标区域整体的灰度共生矩阵。
67.在本实施方式中,计算得到灰度共生矩阵后,可以分析灰度共生矩阵的特征值,来识别目标区域中存在的填充区域。
68.在实际应用中,灰度共生矩阵的特征值可以包括能量、熵、对比度、逆差矩等。为了区分出目标区域中的填充区域和非填充区域,可以将熵作为待分析的特征值。若熵大于或者等于指定的特征值阈值,就表征目标区域中存在填充区域。
69.在本实施方式中,可以识别填充区域的边缘像素点,并利用轮廓提取函数将填充区域的各个边缘像素点按照指定顺序进行链接,以形成构件的轮廓链。后续,可以采用直线拟合的方式,将轮廓链拆解为多条线段,并确定各条线段之间的交点。通过交点与中心点的距离,可以确定向用户反馈的目标交点。
70.请参阅图6,本技术还提供一种图纸中的构件绘制系统,所述系统包括:
71.轮廓链提取单元,用于针对图纸中待处理的目标区域,提取所述目标区域中构件的轮廓链;
72.直线拟合单元,用于对所述轮廓链进行直线拟合,以将所述轮廓链拆解为多条线段;
73.交点识别单元,用于根据拆解得到的各条线段,确定所述轮廓链对应的交点,并根据所述交点绘制对应的构件。
74.请参阅图7,本技术还提供一种电子设备,所述电子设备包括存储器和处理器,所述存储器用于存储计算机程序,所述计算机程序被所述处理器执行时,实现上述的图纸中的构件绘制方法。
75.本技术还提供一种计算机存储介质,所述计算机存储介质用于存储计算机程序,所述计算机程序被处理器执行时,实现上述的图纸中的构件绘制方法。
76.在本技术中,处理器可以为中央处理器(central processing unit,cpu)。处理器
还可以为其他通用处理器、数字信号处理器(digital signal processor,dsp)、专用集成电路(application specific integrated circuit,asic)、现场可编程门阵列(field-programmable gate array,fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等芯片,或者上述各类芯片的组合。
77.存储器作为一种非暂态计算机可读存储介质,可用于存储非暂态软件程序、非暂态计算机可执行程序以及模块,如本发明实施方式中的方法对应的程序指令/模块。处理器通过运行存储在存储器中的非暂态软件程序、指令以及模块,从而执行处理器的各种功能应用以及数据处理,即实现上述方法实施方式中的方法。
78.存储器可以包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需要的应用程序;存储数据区可存储处理器所创建的数据等。此外,存储器可以包括高速随机存取存储器,还可以包括非暂态存储器,例如至少一个磁盘存储器件、闪存器件、或其他非暂态固态存储器件。在一些实施方式中,存储器可选包括相对于处理器远程设置的存储器,这些远程存储器可以通过网络连接至处理器。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
79.本领域技术人员可以理解,实现上述实施方式方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施方式的流程。其中,所述存储介质可为磁碟、光盘、只读存储记忆体(read-only memory,rom)、随机存储记忆体(random access memory,ram)、快闪存储器(flash memory)、硬盘(hard disk drive,缩写:hdd)或固态硬盘(solid-state drive,ssd)等;所述存储介质还可以包括上述种类的存储器的组合。
80.虽然结合附图描述了本发明的实施方式,但是本领域技术人员可以在不脱离本发明的精神和范围的情况下作出各种修改和变型,这样的修改和变型均落入由所附权利要求所限定的范围之内。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献