CN113361368A - 基于桌面软件通过函数拟合识别pdf内多类线条的方法 - Google Patents
基于桌面软件通过函数拟合识别pdf内多类线条的方法 Download PDFInfo
- Publication number
- CN113361368A CN113361368A CN202110610430.5A CN202110610430A CN113361368A CN 113361368 A CN113361368 A CN 113361368A CN 202110610430 A CN202110610430 A CN 202110610430A CN 113361368 A CN113361368 A CN 113361368A
- Authority
- CN
- China
- Prior art keywords
- line
- points
- point
- lines
- calculating
- 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
- 238000000034 method Methods 0.000 title claims abstract description 47
- 238000010586 diagram Methods 0.000 claims abstract description 66
- 230000005484 gravity Effects 0.000 claims description 31
- 238000010276 construction Methods 0.000 claims description 11
- 238000004364 calculation method Methods 0.000 claims description 9
- 238000007781 pre-processing Methods 0.000 claims description 3
- 238000000605 extraction Methods 0.000 description 10
- 238000011960 computer-aided design Methods 0.000 description 4
- 239000011159 matrix material Substances 0.000 description 3
- 238000012545 processing Methods 0.000 description 2
- 239000003086 colorant Substances 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/10—Segmentation; Edge detection
- G06T7/13—Edge detection
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/60—Analysis of geometric attributes
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F30/00—Computer-aided design [CAD]
- G06F30/10—Geometric CAD
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/10—Segmentation; Edge detection
- G06T7/12—Edge-based segmentation
-
- 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/1444—Selective acquisition, locating or processing of specific regions, e.g. highlighted text, fiducial marks or predetermined fields
- G06V30/1456—Selective acquisition, locating or processing of specific regions, e.g. highlighted text, fiducial marks or predetermined fields based on user interactions
-
- 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/18—Extraction of features or characteristics of the image
- G06V30/1801—Detecting partial patterns, e.g. edges or contours, or configurations, e.g. loops, corners, strokes or intersections
- G06V30/18076—Detecting partial patterns, e.g. edges or contours, or configurations, e.g. loops, corners, strokes or intersections by analysing connectivity, e.g. edge linking, connected component analysis or slices
-
- 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/40—Document-oriented image-based pattern recognition
- G06V30/42—Document-oriented image-based pattern recognition based on the type of document
- G06V30/422—Technical drawings; Geographical maps
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2200/00—Indexing scheme for image data processing or generation, in general
- G06T2200/24—Indexing scheme for image data processing or generation, in general involving graphical user interfaces [GUIs]
-
- 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/30—Subject of image; Context of image processing
- G06T2207/30176—Document
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Geometry (AREA)
- Multimedia (AREA)
- Mathematical Analysis (AREA)
- Computer Hardware Design (AREA)
- Evolutionary Computation (AREA)
- General Engineering & Computer Science (AREA)
- Pure & Applied Mathematics (AREA)
- Mathematical Optimization (AREA)
- Artificial Intelligence (AREA)
- Computational Mathematics (AREA)
- Human Computer Interaction (AREA)
- Image Analysis (AREA)
- Image Generation (AREA)
Abstract
本发明公开一种基于桌面软件通过函数拟合识别PDF内多类线条的方法,其特征在于,包括:步骤1:打开PDF格式的图纸文件,并基于原文件中包含的多个单色线条的图像生成线条拟合矢量图;步骤2:对比原线条图像的线条与拟合矢量图线条的差别,具体为计算原线条图像的线条的像素点与多个拟合矢量图线条的标准垂直距离;步骤3:选择其中标准垂直距离最小的拟合矢量图线条作为最终匹配的线条;步骤4:判断原线条图像的线条是否为虚线,如果是虚线则将原线条图像的所有像素点向对应匹配的矢量图线条几何函数作垂线,并将垂足坐标存入数组。
Description
技术领域
本发明涉及图像处理领域,具体而言,涉及一种基于桌面软件通过函数拟合识别PDF内多类线条的方法。
背景技术
许多工程制图软件,如CAD类软件,为了便于传阅,经常会将其绘制或设计的模型导出为PDF格式的图纸,所导出的内容通常为图像格式,而包含这些图像格式内容的PDF文件在浏览放大时,图像中的多种线条会出现锯齿状显示,严重影响使用者的读图体验。
发明内容
为了解决上述问题,本发明提供一种基于桌面软件通过函数拟合识别PDF内多类线条的方法,其对PDF格式的图纸文件中已有各种基础线条,如直线、射线、构造线、多段线、矩形、圆弧、圆形、圆环、椭圆形、椭圆弧等,通过函数拟合的方法,将图像格式的线条识别为矢量线条,使放大看图时线条依然能够平滑显示,以达到减少图像线条锯齿状显示的目的。
为达到上述目的,本发明提供了一种基于桌面软件通过函数拟合识别PDF内多类线条的方法,其包括以下步骤:
步骤1:打开PDF格式的图纸文件,并基于原文件中包含的多个单色线条的图像生成线条拟合矢量图;
步骤2:对比原线条图像的线条与拟合矢量图线条的差别,具体为计算原线条图像的线条的像素点与多个拟合矢量图线条的标准垂直距离;
步骤3:选择其中标准垂直距离最小的拟合矢量图线条作为最终匹配的线条;
步骤4:判断原线条图像的线条是否为虚线,如果是虚线则将原线条图像的所有像素点向对应匹配的矢量图线条几何函数作垂线,并将垂足坐标存入数组,用以进行线条类型识别。
在本发明一实施例中,其中,步骤1中具体为:
步骤11:通过桌面软件打开PDF格式的图纸文件;
步骤12:使用者通过手动的方式圈选出线条图像,并根据所圈选的线条类型从桌面软件中选择对应的选项,其中,所述线条类型包括直线、单箭头线、构造线、多段线、矩形、圆弧、圆形、圆环、椭圆形及椭圆弧;
步骤13:使用者点击开始识别选项后,桌面软件通过多次抽取所选线条的多个点构造对应线条类型的几何函数,并生成拟合的矢量图;
步骤14:将生成的矢量图与原线条图像重叠放置于同一平面。
在本发明一实施例中,其中,当步骤12中的线条为直线时,步骤13中通过多个点构造对应线条类型的几何函数并生成拟合的矢量图的具体过程为:
步骤1301:计算所述直线线条的中点坐标;
步骤1302:计算线条上每个坐标点到中点的直线距离;
步骤1303:根据计算结果选出距离中点的直线距离最大,且不在中点同侧的两个点为对应线条的端点;
步骤1304:按照确定的两个端点构造矢量线。
在本发明一实施例中,其中,当步骤12中的线条为单箭头线或构造线时,步骤13中通过多个点构造对应线条类型的几何函数并生成拟合的矢量图的具体过程为:
步骤1311:对线条进行预处理,去掉箭头使其变为直线线条;
步骤1312:计算直线线条的中点坐标以及线条上每个坐标点到中点的直线距离;
步骤1313:根据计算结果选出距离中点的直线距离最大,且不在中点同侧的两个点为对应线条的端点;
步骤1314:计算原线条上每个点到最近的端点所形成的直线与矢量线的夹角,并确定其中夹角大于10度的点为箭头点,箭头点对应的端点标记为箭头所在端点;
步骤1315:根据确定的箭头点及端点构造矢量线。
在本发明一实施例中,其中,当步骤12中的线条为多段线或矩形时,步骤13中通过多个点构造对应线条类型的几何函数并生成拟合的矢量图的具体过程为:
步骤1321:先识别所述多段线或所述矩形的每条线段;
步骤1322:计算每条线段的中点坐标;
步骤1323:计算每条线段上每个坐标点到对应中点的直线距离;
步骤1324:根据计算结果选出距离中点的直线距离最大,且不在中点同侧的两个点为对应线段的端点;
步骤1325:当线条为多段线时,按照每条线段的两个端点构造多段线polyline矢量线;
当线条为矩形时,按照每条线段的两个端点构造矩形矢量线。
在本发明一实施例中,其中,当步骤12中的线条为圆形时,步骤13中通过多个点构造对应线条类型的几何函数并生成拟合的矢量图的具体过程为:
步骤1331:计算圆心的坐标,具体为:将所有点的横坐标的均值作为横坐标,且所有点纵坐标的均值作为纵坐标的点作为圆心的坐标点;
步骤1332:选取线条上的任意一点为起点;
步骤1333:计算圆形半径并根据圆心和半径构造矢量图。
在本发明一实施例中,其中,当步骤12中的线条为圆弧时,步骤13中通过多个点构造对应线条类型的几何函数并生成拟合的矢量图的具体过程为:
步骤1341:计算重心的坐标,具体为:将所有点的横坐标的均值作为横坐标,且所有点纵坐标的均值作为纵坐标的点作为重心的坐标点;
步骤1342:计算线条上每个点与重心点连线的角度,确定起始角和端点角;
步骤1343:根据重心、起始角和端点角构造矢量图。
在本发明一实施例中,其中,当步骤12中的线条为圆环时,步骤13中通过多个点构造对应线条类型的几何函数并生成拟合的矢量图的具体过程为:
步骤1351:计算圆心的坐标,具体为:将所有点的横坐标的均值作为横坐标,且所有点纵坐标的均值作为纵坐标的点作为圆心的坐标点;
步骤1352:计算线条上的每个坐标点与圆心的距离,得出一第一距离和一第二距离;
步骤1353:选取所述第一距离与所述第二距离中较大的所对应的圆形为外环的圆形线条,所述第一距离与所述第二距离中较小的所对应的圆形为内环的圆形线条,并在外环和内环的圆形线条上分别选取任一点为起点;
步骤1354:分别计算外环半径和内环半径,并根据圆心、外环半径和内环半径构造矢量图。
在本发明一实施例中,其中,当步骤12中的线条为椭圆形时,步骤13中通过多个点构造对应线条类型的几何函数并生成拟合的矢量图的具体过程为:
步骤1361:计算重心的坐标,具体为:将所有点的横坐标的均值作为横坐标,且所有点纵坐标的均值作为纵坐标的点作为重心的坐标点;
步骤1362:选取线条上的任意五个点;
步骤1363:根据选取的五个点确定椭圆形的拟合函数,并根据拟合函数构造矢量图。
在本发明一实施例中,其中,当步骤12中的线条为椭圆弧时,步骤13中通过多个点构造对应线条类型的几何函数并生成拟合的矢量图的具体过程为:
步骤1371:计算重心的坐标,具体为:将所有点的横坐标的均值作为横坐标,且所有点纵坐标的均值作为纵坐标的点作为重心的坐标点;
步骤1372:计算线条上每个点与重心点连线的角度,确定起点、起始角和端点角;
步骤1373:选取线条上起点以外的任意四个点;
步骤1374:根据选取的起点和任意四个点确定椭圆形的拟合函数,并根据拟合函数、起始角和端点角构造矢量图。
在本发明一实施例中,其中,步骤2中所述标准垂直距离具体为通过下式计算:
式中,i为线条上的点,N为线条上的点的个数,l(i)为线条上第i个点与拟合矢量线条的垂直距离,其中,所述垂直距离的单位为像素。
本发明的桌面软件对CAD类导出的PDF格式图纸图像线条,通过函数拟合识别的方法,将原有放大显示后会出现锯齿状的线条,以矢量图的方式显示,与现有技术相比,提高了放大图像线条的显示平滑度,提升了使用者的查看图像的舒适度。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明一实施例的方法流程图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有付出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
图1为本发明一实施例的方法流程图;本实施例提供了一种基于桌面软件通过函数拟合识别PDF内多类线条的方法,其包括以下步骤:
步骤1:打开PDF格式的图纸文件,并基于原文件中包含的多个单色线条(其中线条的颜色可以为黑色或其他任意颜色)的图像生成线条拟合矢量图;
在本实施例中,其中,步骤1中具体为:
步骤11:通过桌面软件打开PDF格式的图纸文件;
步骤12:使用者通过手动的方式圈选出线条图像,并根据所圈选的线条类型从桌面软件中选择对应的选项,其中,线条类型包括直线、单箭头线、构造线(双箭头线)、多段线(线型为实线)、矩形(线型为实线)、圆弧、圆形、圆环、椭圆形、椭圆弧等;
步骤13:使用者点击开始识别选项后,桌面软件通过多次抽取所选线条的多个点构造对应线条类型的几何函数,并生成拟合的矢量图;其中,不同类型的线条所选取的点也不同;
步骤14:将生成的矢量图与原线条图像重叠放置于同一平面。
在本实施例中,其中,当步骤12中的线条为直线时,步骤13中通过多个点构造对应线条类型的几何函数并生成拟合的矢量图的具体过程为:
步骤1301:计算直线线条的中点坐标;
步骤1302:计算线条上每个坐标点到中点的直线距离;
步骤1303:根据计算结果选出距离中点的直线距离最大,且不在中点同侧的两个点为对应线条的端点;
步骤1304:按照确定的两个端点构造矢量线。
在本实施例中,其中,当步骤12中的线条为单箭头线或构造线(双箭头)时,步骤13中通过多个点构造对应线条类型的几何函数并生成拟合的矢量图的具体过程为:
步骤1311:对线条进行预处理,去掉箭头使其变为直线线条;
步骤1312:计算直线线条的中点坐标以及线条上每个坐标点到中点的直线距离;
步骤1313:根据计算结果选出距离中点的直线距离最大,且不在中点同侧的两个点为对应线条的端点;
步骤1314:计算原线条上每个点到最近的端点所形成的直线与矢量线的夹角,并确定其中夹角大于10度的点为箭头点,箭头点对应的端点标记为箭头所在端点;如果是单箭头,则确定出的箭头所在的端点有一个;如果是构造线(双箭头),则确定出的箭头所在的端点有两个;
步骤1315:根据确定的箭头点及端点构造矢量线。
其中,对于直线、单箭头线和构造线(双箭头),在抽取多点构造几何函数时,只需要抽取两个端点,且抽取一次即可。
在本实施例中,其中,当步骤12中的线条为多段线(线型为实线)或矩形(线型为实线)时,步骤13中通过多个点构造对应线条类型的几何函数并生成拟合的矢量图的具体过程为:
步骤1321:先识别多段线(线型为实线)或矩形(线型为实线)的每条线段;
步骤1322:计算每条线段的中点坐标;
步骤1323:计算每条线段上每个坐标点到对应中点的直线距离;
步骤1324:根据计算结果选出距离中点的直线距离最大,且不在中点同侧的两个点为对应线段的端点;
步骤1325:当线条为多段线(线型为实线)时,按照每条线段的两个端点构造多段线polyline(一种绘制多段线矢量线的函数)矢量线;
当线条为矩形时,按照每条线段的两个端点构造矩形矢量线。
其中,当线条为多段线时,对其进行抽取多个点需要在线条的图形坐标矩阵中先找到线条的两个端点,例如可以采用只有一边相邻其它点的算法,然后,
A)选择其中一个端点做线段1的起始点,与其他所有点连接并计算角度,将角度相同(例如有1个或多个)且与该端点相连(即中间没有断开)的坐标点定义为线段1,再选择线段1上离该端点最远的一个点作为线段1的终点;
B)将线段1的终点作为线段2的起点,然后在图形坐标矩阵中去除线段1的所有其他点的坐标,构建图形坐标矩阵2,再重复A)完成线段2的终点的抽取;
C)重复B),直到所有线段的端点全部抽取完成;
最后,对每条线段采用与直线相同的算法,根据抽到的点构造几何函数,进而生成拟合的矢量图。
其中,矩形(线型为实线)是多段线的一个特例,即为一4段线的图形。当线条为矩形时,对其进行抽取多个点的起点算法为:
以任意的一点为基准点与其他所有点连接,计算所有角度,并将角度(若基准点是矩形角点的时候2个,其他时候1个)相同的点的点视为线段1,计算线段1的两个端点;
将其中一个端点作为矩形的起点,另一个作为终点,采用与多段线确定每条线段相同的算法处理矩形的每条线段,直到所有线段的端点全部抽取完成;
最后,对每条线段采用同直线相同的算法,根据抽到的点构造几何函数,进而生成拟合的矢量图。
在本实施例中,其中,当步骤12中的线条为圆形时,步骤13中通过多个点构造对应线条类型的几何函数并生成拟合的矢量图的具体过程为:
步骤1331:计算圆心的坐标,具体为:将所有点的横坐标的均值作为横坐标,且所有点纵坐标的均值作为纵坐标的点作为圆心的坐标点;
步骤1332:选取线条上的任意一点为起点;
步骤1333:计算圆形半径并根据圆心和半径构造矢量图。
其中,当线条为圆形时,以起点、圆心为基准,选取任意3个随机角度指向的点,共完成3次抽取,可以以每2点为一组构造圆形的几何函数,进而生成拟合的矢量图。其中,构造圆形的几何函数相当于根据圆心和圆形上的任一点的坐标构造一二元二次方程。
在本实施例中,其中,当步骤12中的线条为圆弧时,步骤13中通过多个点构造对应线条类型的几何函数并生成拟合的矢量图的具体过程为:
步骤1341:计算重心的坐标,具体为:将所有点的横坐标的均值作为横坐标,且所有点纵坐标的均值作为纵坐标的点作为重心的坐标点;
步骤1342:计算线条上每个点与重心点连线的角度,确定起始角和端点角;
步骤1343:根据重心、起始角和端点角构造矢量图。
其中,当线条为弧形时,那么对于连续的圆弧,计算线条上每个点与重心点连线角度,其角度值为0-360之间两个角度值(起始角Angel(start)、端点角Angel(end))的一个连续区间;在抽取多个点时,以起点角度、重心点为基准,每次对任意一个随机角度指向的点做抽取,共完成3次抽取,并以起点+抽取点其中的3点为一组构造弧形的几何函数,进而生成拟合的矢量图。
在本实施例中,其中,当步骤12中的线条为圆环时,步骤13中通过多个点构造对应线条类型的几何函数并生成拟合的矢量图的具体过程为:
步骤1351:计算圆心的坐标,具体为:将所有点的横坐标的均值作为横坐标,且所有点纵坐标的均值作为纵坐标的点作为圆心的坐标点;
步骤1352:计算线条上的每个坐标点与圆心的距离,得出一第一距离L1和一第二距离L2;
步骤1353:选取第一距离L1与所述第二距离L2中较大的所对应的圆形为外环的圆形线条,第一距离L1与所述第二距离L2中较小的所对应的圆形为内环的圆形线条,并在外环和内环的圆形线条上分别选取任一点为起点;例如,当L1>L2时,距离为L1的圆形线条为外环,距离为L2的圆形线条为内环;
步骤1354:分别计算外环半径和内环半径,并根据圆心、外环半径和内环半径构造矢量图。
其中,当线条为圆环时,可以将其视作两个圆形线条,每个圆形线条抽取多点的方式与单独一圆形线条的抽取方式相同,只是在构造矢量图时,根据不同的半径构造两个圆形的矢量图。
在本实施例中,其中,当步骤12中的线条为椭圆形时,步骤13中通过多个点构造对应线条类型的几何函数并生成拟合的矢量图的具体过程为:
步骤1361:计算重心的坐标,具体为:将所有点的横坐标的均值作为横坐标,且所有点纵坐标的均值作为纵坐标的点作为重心的坐标点;
步骤1362:选取线条上的任意五个点;
步骤1363:根据选取的五个点确定椭圆形的拟合函数,并根据拟合函数构造矢量图。
其中,当线条为椭圆形时,确定重心坐标后,选取线条上的任一点为起点,以重心点、起点为基准,每次选取任意2个随机角度指向的点做抽取,共抽取3次,然后以每5个点为一组构造椭圆形的几何函数,进而生成拟合的矢量图。其中,构造椭圆形的几何函数相当于根据椭圆形上的任意五点的坐标构造一二元二次方程。
在本实施例中,其中,当步骤12中的线条为椭圆弧时,步骤13中通过多个点构造对应线条类型的几何函数并生成拟合的矢量图的具体过程为:
步骤1371:计算重心的坐标,具体为:将所有点的横坐标的均值作为横坐标,且所有点纵坐标的均值作为纵坐标的点作为重心的坐标点;
步骤1372:计算线条上每个点与重心点连线的角度,确定起点、起始角和端点角;
步骤1373:选取线条上起点以外的任意四个点;
步骤1374:根据选取的起点和任意四个点确定椭圆形的拟合函数,并根据拟合函数、起始角和端点角构造矢量图。
其中,当线条为椭圆弧时,对于连续的椭圆弧,线条上每个点与重心点连线角度的角度值为0-360之间两个角度值(起始角Angel(start)、端点角Angel(end))的一个连续区间;再以起点角度(起始角Angel(start))、重心点为基准,每次选取任意2个随机角度指向的点做抽取,共抽取3次,然后以起点+抽取点每5个点为一组构造椭圆形的几何函数,进而生成拟合的矢量图。
步骤2:对比原线条图像的线条与拟合矢量图线条的差别,具体为计算原线条图像的线条的像素点与多个拟合矢量图线条的标准垂直距离;
在本实施例中,其中,步骤2中标准垂直距离具体为通过下式计算:
式中,i为线条上的点,N为线条上的点的个数,l(i)为线条上第i个点与拟合矢量线条的垂直距离,其中,垂直距离的单位为像素。
步骤3:选择其中标准垂直距离最小的拟合矢量图线条作为最终匹配的线条;
步骤4:判断原线条图像的线条是否为虚线,如果是虚线则将原线条图像的所有像素点向对应匹配的矢量图线条几何函数作垂线,并将垂足坐标存入数组,用以进行线条类型的识别。
由于在本实施例PDF格式的图像中,原线条图像的线条是实线或者虚线中的一种,如果线条是虚线即由多条短线组成,那么此时若将原线条图像的所有像素点向对应匹配的矢量图线条几何函数所在的线条作垂线,则可以得到虚线上所有的像素点对应在矢量图线条上的垂足坐标,并将这些垂足坐标存入数组留待后续进行线条类型的识别。
本发明的桌面软件对CAD类导出的PDF格式图纸图像线条,通过函数拟合识别的方法,将原有放大显示后会出现锯齿状的线条,以矢量图的方式显示,提高了放大图像线条的显示平滑度,提升了使用者的查看图像的舒适度。
本领域普通技术人员可以理解:附图只是一个实施例的示意图,附图中的模块或流程并不一定是实施本发明所必须的。
本领域普通技术人员可以理解:实施例中的装置中的模块可以按照实施例描述分布于实施例的装置中,也可以进行相应变化位于不同于本实施例的一个或多个装置中。上述实施例的模块可以合并为一个模块,也可以进一步拆分成多个子模块。
最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明实施例技术方案的精神和范围。
Claims (11)
1.一种基于桌面软件通过函数拟合识别PDF内多类线条的方法,其特征在于,包括以下步骤:
步骤1:打开PDF格式的图纸文件,并基于原文件中包含的多个单色线条的图像生成线条拟合矢量图;
步骤2:对比原线条图像的线条与拟合矢量图线条的差别,具体为计算原线条图像的线条的像素点与多个拟合矢量图线条的标准垂直距离;
步骤3:选择其中标准垂直距离最小的拟合矢量图线条作为最终匹配的线条;
步骤4:判断原线条图像的线条是否为虚线,如果是虚线则将原线条图像的所有像素点向对应匹配的矢量图线条几何函数作垂线,并将垂足坐标存入数组,用以进行线条类型的识别。
2.根据权利要求1所述的方法,其特征在于,步骤1中具体为:
步骤11:通过桌面软件打开PDF格式的图纸文件;
步骤12:使用者通过手动的方式圈选出线条图像,并根据所圈选的线条类型从桌面软件中选择对应的选项,其中,所述线条类型包括直线、单箭头线、构造线、多段线、矩形、圆弧、圆形、圆环、椭圆形及椭圆弧;
步骤13:使用者点击开始识别选项后,桌面软件通过多次抽取所选线条的多个点构造对应线条类型的几何函数,并生成拟合的矢量图;
步骤14:将生成的矢量图与原线条图像重叠放置于同一平面。
3.根据权利要求2所述的方法,其特征在于,当步骤12中的线条为直线时,步骤13中通过多个点构造对应线条类型的几何函数并生成拟合的矢量图的具体过程为:
步骤1301:计算所述直线线条的中点坐标;
步骤1302:计算线条上每个坐标点到中点的直线距离;
步骤1303:根据计算结果选出距离中点的直线距离最大,且不在中点同侧的两个点为对应线条的端点;
步骤1304:按照确定的两个端点构造矢量线。
4.根据权利要求2所述的方法,其特征在于,当步骤12中的线条为单箭头线或构造线时,步骤13中通过多个点构造对应线条类型的几何函数并生成拟合的矢量图的具体过程为:
步骤1311:对线条进行预处理,去掉箭头使其变为直线线条;
步骤1312:计算直线线条的中点坐标以及线条上每个坐标点到中点的直线距离;
步骤1313:根据计算结果选出距离中点的直线距离最大,且不在中点同侧的两个点为对应线条的端点;
步骤1314:计算原线条上每个点到最近的端点所形成的直线与矢量线的夹角,并确定其中夹角大于10度的点为箭头点,箭头点对应的端点标记为箭头所在端点;
步骤1315:根据确定的箭头点及两个端点构造矢量线。
5.根据权利要求2所述的方法,其特征在于,当步骤12中的线条为多段线或矩形时,步骤13中通过多个点构造对应线条类型的几何函数并生成拟合的矢量图的具体过程为:
步骤1321:先识别所述多段线或所述矩形的每条线段;
步骤1322:计算每条线段的中点坐标;
步骤1323:计算每条线段上每个坐标点到对应中点的直线距离;
步骤1324:根据计算结果选出距离中点的直线距离最大,且不在中点同侧的两个点为对应线段的端点;
步骤1325:当线条为多段线时,按照每条线段的两个端点构造多段线polyline矢量线;
当线条为矩形时,按照每条线段的两个端点构造矩形矢量线。
6.根据权利要求2所述的方法,其特征在于,当步骤12中的线条为圆形时,步骤13中通过多个点构造对应线条类型的几何函数并生成拟合的矢量图的具体过程为:
步骤1331:计算圆心的坐标,具体为:将所有点的横坐标的均值作为横坐标,且所有点纵坐标的均值作为纵坐标的点作为圆心的坐标点;
步骤1332:选取线条上的任意一点为起点;
步骤1333:计算圆形半径并根据圆心和半径构造矢量图。
7.根据权利要求2所述的方法,其特征在于,当步骤12中的线条为圆弧时,步骤13中通过多个点构造对应线条类型的几何函数并生成拟合的矢量图的具体过程为:
步骤1341:计算重心的坐标,具体为:将所有点的横坐标的均值作为横坐标,且所有点纵坐标的均值作为纵坐标的点作为重心的坐标点;
步骤1342:计算线条上每个点与重心点连线的角度,确定起始角和端点角;
步骤1343:根据重心、起始角和端点角构造矢量图。
8.根据权利要求2所述的方法,其特征在于,当步骤12中的线条为圆环时,步骤13中通过多个点构造对应线条类型的几何函数并生成拟合的矢量图的具体过程为:
步骤1351:计算圆心的坐标,具体为:将所有点的横坐标的均值作为横坐标,且所有点纵坐标的均值作为纵坐标的点作为圆心的坐标点;
步骤1352:计算线条上的每个坐标点与圆心的距离,得出一第一距离和一第二距离;
步骤1353:选取所述第一距离与所述第二距离中较大的所对应的圆形为外环的圆形线条,所述第一距离与所述第二距离中较小的所对应的圆形为内环的圆形线条,并在外环和内环的圆形线条上分别选取任一点为起点;
步骤1354:分别计算外环半径和内环半径,并根据圆心、外环半径和内环半径构造矢量图。
9.根据权利要求2所述的方法,其特征在于,当步骤12中的线条为椭圆形时,步骤13中通过多个点构造对应线条类型的几何函数并生成拟合的矢量图的具体过程为:
步骤1361:计算重心的坐标,具体为:将所有点的横坐标的均值作为横坐标,且所有点纵坐标的均值作为纵坐标的点作为重心的坐标点;
步骤1362:选取线条上的任意五个点;
步骤1363:根据选取的五个点确定椭圆形的拟合函数,并根据拟合函数构造矢量图。
10.根据权利要求2所述的方法,其特征在于,当步骤12中的线条为椭圆弧时,步骤13中通过多个点构造对应线条类型的几何函数并生成拟合的矢量图的具体过程为:
步骤1371:计算重心的坐标,具体为:将所有点的横坐标的均值作为横坐标,且所有点纵坐标的均值作为纵坐标的点作为重心的坐标点;
步骤1372:计算线条上每个点与重心点连线的角度,确定起点、起始角和端点角;
步骤1373:选取线条上起点以外的任意四个点;
步骤1374:根据选取的起点和任意四个点确定椭圆形的拟合函数,并根据拟合函数、起始角和端点角构造矢量图。
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110610430.5A CN113361368B (zh) | 2021-06-01 | 2021-06-01 | 基于桌面软件通过函数拟合识别pdf内多类线条的方法 |
PCT/CN2022/000058 WO2022252613A1 (zh) | 2021-06-01 | 2022-03-30 | 基于桌面软件通过函数拟合识别pdf内多类线条的方法 |
US18/035,602 US20240013417A1 (en) | 2021-06-01 | 2022-03-30 | Method for recognizing various lines in pdf by function fitting based on desktop software |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110610430.5A CN113361368B (zh) | 2021-06-01 | 2021-06-01 | 基于桌面软件通过函数拟合识别pdf内多类线条的方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113361368A true CN113361368A (zh) | 2021-09-07 |
CN113361368B CN113361368B (zh) | 2024-03-19 |
Family
ID=77531033
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110610430.5A Active CN113361368B (zh) | 2021-06-01 | 2021-06-01 | 基于桌面软件通过函数拟合识别pdf内多类线条的方法 |
Country Status (3)
Country | Link |
---|---|
US (1) | US20240013417A1 (zh) |
CN (1) | CN113361368B (zh) |
WO (1) | WO2022252613A1 (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2022252613A1 (zh) * | 2021-06-01 | 2022-12-08 | 福建福昕软件开发股份有限公司 | 基于桌面软件通过函数拟合识别pdf内多类线条的方法 |
Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4648120A (en) * | 1982-07-02 | 1987-03-03 | Conoco Inc. | Edge and line detection in multidimensional noisy, imagery data |
EP1505544A2 (en) * | 2003-08-04 | 2005-02-09 | Mitutoyo Corporation | Methods and apparatus for inspection of lines embedded in highly textured material |
CN101763516A (zh) * | 2010-01-15 | 2010-06-30 | 南京航空航天大学 | 一种基于拟合函数的文字识别方法 |
CN102663356A (zh) * | 2012-03-28 | 2012-09-12 | 柳州博实唯汽车科技有限公司 | 车道线提取及偏离预警方法 |
CN102800052A (zh) * | 2012-06-13 | 2012-11-28 | 浙江大学 | 非标准地图的半自动数字化方法 |
CN104077447A (zh) * | 2014-07-01 | 2014-10-01 | 东南大学 | 基于纸质平面数据的城市三维空间矢量建模方法 |
CN109741325A (zh) * | 2019-01-14 | 2019-05-10 | 南京理工大学 | 一种布线垂直度智能检测方法 |
CN110516208A (zh) * | 2019-08-12 | 2019-11-29 | 深圳智能思创科技有限公司 | 一种针对pdf文档表格提取的系统及方法 |
WO2020113977A1 (zh) * | 2018-12-03 | 2020-06-11 | 易思维天津科技有限公司 | 一种基于点云数据的含螺纹目标物位姿的计算方法 |
CN111462023A (zh) * | 2020-03-31 | 2020-07-28 | 上海大学 | 一种图像纹理线条矢量化系统和方法 |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4154374B2 (ja) * | 2004-08-25 | 2008-09-24 | 株式会社日立ハイテクノロジーズ | パターンマッチング装置及びそれを用いた走査型電子顕微鏡 |
US10521937B2 (en) * | 2017-02-28 | 2019-12-31 | Corel Corporation | Vector graphics based live sketching methods and systems |
CN107330979B (zh) * | 2017-06-30 | 2020-09-18 | 电子科技大学中山学院 | 建筑户型的矢量图生成方法、装置及终端 |
CN109801370A (zh) * | 2019-01-14 | 2019-05-24 | 山西晋城无烟煤矿业集团有限责任公司 | 一种cad图纸建模井下巷道三维场景的方法 |
CN112053410A (zh) * | 2020-08-24 | 2020-12-08 | 海南太美航空股份有限公司 | 一种基于矢量图形绘制的图像处理方法、系统及电子设备 |
CN113361368B (zh) * | 2021-06-01 | 2024-03-19 | 福建福昕软件开发股份有限公司 | 基于桌面软件通过函数拟合识别pdf内多类线条的方法 |
-
2021
- 2021-06-01 CN CN202110610430.5A patent/CN113361368B/zh active Active
-
2022
- 2022-03-30 WO PCT/CN2022/000058 patent/WO2022252613A1/zh active Application Filing
- 2022-03-30 US US18/035,602 patent/US20240013417A1/en active Pending
Patent Citations (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4648120A (en) * | 1982-07-02 | 1987-03-03 | Conoco Inc. | Edge and line detection in multidimensional noisy, imagery data |
EP1505544A2 (en) * | 2003-08-04 | 2005-02-09 | Mitutoyo Corporation | Methods and apparatus for inspection of lines embedded in highly textured material |
CN1580748A (zh) * | 2003-08-04 | 2005-02-16 | 株式会社三丰 | 检测嵌入在高度织构材料中线条的方法和装置 |
CN101763516A (zh) * | 2010-01-15 | 2010-06-30 | 南京航空航天大学 | 一种基于拟合函数的文字识别方法 |
CN102663356A (zh) * | 2012-03-28 | 2012-09-12 | 柳州博实唯汽车科技有限公司 | 车道线提取及偏离预警方法 |
CN102800052A (zh) * | 2012-06-13 | 2012-11-28 | 浙江大学 | 非标准地图的半自动数字化方法 |
CN104077447A (zh) * | 2014-07-01 | 2014-10-01 | 东南大学 | 基于纸质平面数据的城市三维空间矢量建模方法 |
WO2020113977A1 (zh) * | 2018-12-03 | 2020-06-11 | 易思维天津科技有限公司 | 一种基于点云数据的含螺纹目标物位姿的计算方法 |
CN109741325A (zh) * | 2019-01-14 | 2019-05-10 | 南京理工大学 | 一种布线垂直度智能检测方法 |
CN110516208A (zh) * | 2019-08-12 | 2019-11-29 | 深圳智能思创科技有限公司 | 一种针对pdf文档表格提取的系统及方法 |
CN111462023A (zh) * | 2020-03-31 | 2020-07-28 | 上海大学 | 一种图像纹理线条矢量化系统和方法 |
Non-Patent Citations (3)
Title |
---|
KE, JH等: "DESIGN BASED INSPECTION METHODOLOGY AND APPLICATION IN THE FAB", 《2015 CHINA SEMICONDUCTOR TECHNOLOGY INTERNATIONAL CONFERENCE》, 31 December 2015 (2015-12-31), pages 1 - 3 * |
UMIT BUDAK等: "Efficient Airport Detection Using Line Segment Detector and Fisher Vector Representation", 《IEEE GEOSCIENCE AND REMOTE SENSING LETTERS》, no. 8, 31 August 2016 (2016-08-31), pages 1079 - 1083, XP011617437, DOI: 10.1109/LGRS.2016.2565706 * |
樊顺利: "一种基于多尺度分析的线条重构方法", 《计算机工程与应用》, no. 18, 31 December 2014 (2014-12-31), pages 1 - 5 * |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2022252613A1 (zh) * | 2021-06-01 | 2022-12-08 | 福建福昕软件开发股份有限公司 | 基于桌面软件通过函数拟合识别pdf内多类线条的方法 |
Also Published As
Publication number | Publication date |
---|---|
CN113361368B (zh) | 2024-03-19 |
US20240013417A1 (en) | 2024-01-11 |
WO2022252613A1 (zh) | 2022-12-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112348815B (zh) | 图像处理方法、图像处理装置以及非瞬时性存储介质 | |
EP3454250B1 (en) | Facial image processing method and apparatus and storage medium | |
WO2018036462A1 (zh) | 图像分割的方法、计算机设备及存储介质 | |
CN107545049B (zh) | 图片处理方法及相关产品 | |
CN102693425A (zh) | 图像处理设备和图像处理方法 | |
CN109308734B (zh) | 3d文字的生成方法及其装置、设备、存储介质 | |
CN109803172B (zh) | 一种直播视频的处理方法、装置及电子设备 | |
WO2019128495A1 (zh) | 图像清晰度检测方法、装置、存储介质及电子设备 | |
US11450039B2 (en) | Visualization of spatial distributions | |
KR101159320B1 (ko) | 폰트-힌팅 언어를 이용한 제한들의 반복적인 솔루션 | |
WO2020224136A1 (zh) | 界面交互方法及装置 | |
CN113301409A (zh) | 视频合成方法、装置、电子设备和可读存储介质 | |
CN113361368A (zh) | 基于桌面软件通过函数拟合识别pdf内多类线条的方法 | |
US7236174B2 (en) | Adaptively filtering outlines of typographic characters to simplify representative control data | |
CN101650824B (zh) | 基于共形能量的内容敏感图像缩放方法 | |
CN115082935A (zh) | 用于对文档图像进行矫正的方法、设备及存储介质 | |
CN113657396B (zh) | 训练方法、译文展示方法、装置、电子设备以及存储介质 | |
CN108073964B (zh) | 一种透视二维码生成方法及装置 | |
Wu et al. | A hybrid image retargeting approach via combining seam carving and grid warping | |
US7292247B2 (en) | Dynamically determining directions of freedom for control points used to represent graphical objects | |
CN112288618B (zh) | 一种图片处理方法及装置 | |
CN114495105A (zh) | 图像的倾斜校正方法、装置、存储介质及计算机设备 | |
Shen et al. | Raster-based method for building selection in the multi-scale representation of two-dimensional maps | |
CN112508831A (zh) | 一种超声宽景图像生成方法、装置、设备及存储介质 | |
CN111062874B (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 |