CN113901936B - 硬笔书法田字格切片图像提取方法、系统、设备 - Google Patents
硬笔书法田字格切片图像提取方法、系统、设备 Download PDFInfo
- Publication number
- CN113901936B CN113901936B CN202111216841.2A CN202111216841A CN113901936B CN 113901936 B CN113901936 B CN 113901936B CN 202111216841 A CN202111216841 A CN 202111216841A CN 113901936 B CN113901936 B CN 113901936B
- Authority
- CN
- China
- Prior art keywords
- image
- cluster
- grid
- gray
- row
- 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.)
- Active
Links
- 238000000605 extraction Methods 0.000 title claims abstract description 20
- 238000000034 method Methods 0.000 claims abstract description 70
- 238000004364 calculation method Methods 0.000 claims description 10
- 238000006243 chemical reaction Methods 0.000 claims description 8
- CLOMYZFHNHFSIQ-UHFFFAOYSA-N clonixin Chemical compound CC1=C(Cl)C=CC=C1NC1=NC=CC=C1C(O)=O CLOMYZFHNHFSIQ-UHFFFAOYSA-N 0.000 claims description 3
- 230000008569 process Effects 0.000 abstract description 10
- 238000012545 processing Methods 0.000 abstract description 10
- 238000004590 computer program Methods 0.000 description 8
- 230000006870 function Effects 0.000 description 7
- 238000010586 diagram Methods 0.000 description 6
- 238000004891 communication Methods 0.000 description 4
- 230000003287 optical effect Effects 0.000 description 4
- 230000008030 elimination Effects 0.000 description 2
- 238000003379 elimination reaction Methods 0.000 description 2
- 238000003672 processing method Methods 0.000 description 2
- 230000000644 propagated effect Effects 0.000 description 2
- 239000004065 semiconductor Substances 0.000 description 2
- 238000006467 substitution reaction Methods 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 238000011156 evaluation Methods 0.000 description 1
- 239000000835 fiber Substances 0.000 description 1
- 238000005286 illumination Methods 0.000 description 1
- 238000003384 imaging method Methods 0.000 description 1
- 238000002372 labelling Methods 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 239000013307 optical fiber Substances 0.000 description 1
- 238000012216 screening Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/23—Clustering techniques
Landscapes
- Engineering & Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Theoretical Computer Science (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Bioinformatics & Computational Biology (AREA)
- Artificial Intelligence (AREA)
- Evolutionary Biology (AREA)
- Evolutionary Computation (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Life Sciences & Earth Sciences (AREA)
- Character Input (AREA)
Abstract
本发明属于图像处理技术领域,具体涉及一种硬笔书法田字格切片图像提取方法、系统、设备,旨在解决目前缺乏不同图像质量下硬笔书法作品中田字格切片图提取的方法,阻碍后续精确指导学生规范书写汉字的问题。本发明方法包括:获取灰度田字格图像;对灰度田字格图像进行局部二值化;对二值化田字格图像进行轮廓提取,并将噪声区域进行剔除;对剔除噪声区域后的二值化田字格图像进行格线标记;提取格线标记图像的轮廓并进行外接多边形的拟合,得到方格,对方格进行聚类,确定方格的位置;基于方格的位置提取田字格切片图像。本发明实现不同图像质量下硬笔书法作品中田字格切片图提取,进而为后续精确指导学生规范书写汉字提供技术基础。
Description
技术领域
本发明属于图像处理技术领域,具体涉及一种硬笔书法田字格切片图像提取方法、系统、设备。
背景技术
通过智能化手段对硬笔书法练习作品进行评价能够及时有效地对学生的书法作业给出针对性的指导意见,可以有效提升硬笔书法“练习-反馈-改进”的练习效率,缓解目前依赖人工方式对学生书法练习作业进行反馈指导任务繁重的现状。
练习硬笔书法一般使用通用的田字格纸,在田字格内书写汉字,然后将手写练习作业拍摄成图片上传,等待反馈意见。通过智能化图像处理的方法评价硬笔书法练习作品,首先要获取每一个田字格汉字图像,我们称之为田字格切片图像。拍摄书法作品图像的设备、拍摄环境不尽相同,每个人的拍照水平也各有差异,硬笔书法纸田字格的颜色、深浅也具有多样性,田字格内有辅助虚线,另外,书写时可能出现汉字出格、涂抹等情况,以上诸多不确定因素导致书法练习作业图像的质量优劣差异很大,给硬笔书法田字格切片图像提取问题带来了挑战。基于此,本发明提出了一种硬笔书法田字格切片图像提取方法。
发明内容
为了解决现有技术中的上述问题,即为了解决目前缺乏不同图像质量下硬笔书法作品中田字格切片图提取的方法,阻碍后续精确指导学生规范书写汉字的问题,本发明提出了一种硬笔书法田字格切片图像提取方法,该方法包括:
S10,获取灰度田字格图像,作为输入图像;所述灰度田字格图像为对拍摄或扫描的硬笔书法纸田字格图像进行灰度转换后的图像;
S20,对所述输入图像进行局部二值化,得到二值化田字格图像;
S30,对所述二值化田字格图像进行轮廓提取,并将尺寸小于设定轮廓尺寸阈值的轮廓对应的区域作为噪声区域进行剔除;
S40,对剔除噪声区域后的二值化田字格图像进行格线标记,得到格线标记图像;
S50,提取所述格线标记图像的轮廓并进行外接多边形的拟合,若拟合的外接多边形的边数等于4且长边与短边的比例小于设定的比例阈值,则将该外接多边形作为方格;对方格进行聚类,并选定聚类后方格数最多的聚类重新进行方格聚类,重新方格聚类后确定每个方格的行坐标索引、列坐标索引,进而得到方格的位置;
S60,基于方格的位置提取田字格切片图像,作为提取结果输出。
在一些优选的实施方式中,“对所述输入图像进行局部二值化”,其方法为:
S21,提取灰度田字格图像中的直线,构建直线标记图像image_line,将所述直线标记图像中直线上的像素标记为白色,其余部分标记为黑色;
S22,构建直线灰度图image_line_gray,并基于直线灰度图计算直线像素灰度积分图;所述直线灰度图与直线标记图像白色像素对应的像素位置,其灰度值为灰度田字格图像中与直线标记图像白色像素对应的像素位置的灰度值,直线灰度图中的其余像素为黑色;
S23,构建标记图像image_label,并基于标记图像计算直线像素数目积分图;所述标记图像中与直线标记图像白色像素对应的像素位置,其灰度值设为1,其余像素设为0;
S24,初始化二值化图像image_bw为黑色,遍历灰度田字格图像的每一个像素p(x,y),若p(x,y)的邻域内存在直线像素,则计算邻域内所有直线像素的平均灰度值aver_gray,若p(x,y)的灰度值小于aver_gray,则image_bw中对应位置像素标记为白色,得到二值化田字格图像;
其中,像素p(x,y)的邻域为以像素p(x,y)为中心、大小为W×W的局部矩形窗,W为奇数,W的计算方法为:
其中,widthimage_gray为灰度田字格图像的宽度,numCol为输入的田字格的列数;
判断p(x,y)的邻域内是否存在直线像素,其方法为:
其中,I为直线像素数目积分图,若ncont>0,则p(x,y)的邻域内存在直线像素,否则,不存在直线像素;
p(x,y)邻域内所有直线像素的平均灰度值aver_gray,其计算方法为:
其中,I′为直线像素灰度积分图。
在一些优选的实施方式中,“对所述二值化田字格图像进行轮廓提取,并将尺寸小于设定轮廓尺寸阈值的轮廓对应的区域作为噪声区域进行剔除”,其方法为:
S31,对二值化田字格图像进行轮廓提取,得到轮廓集合{contor1,…,contorn};
S32,遍历轮廓集合,对于尺寸小于设定的轮廓尺寸阈值的轮廓,在二值化田字格图像中将该轮廓包围的对应区域标记为黑色;
轮廓尺寸的计算方法为:
轮廓尺寸阈值的计算方法为:
其中,widthimage_gray、heightimage_gray为灰度田字格图像的宽和高,numCol、numRow为输入的田字格的列数和行数,thresh_len表示轮廓尺寸阈值。
在一些优选的实施方式中,“对剔除噪声区域后的二值化田字格图像进行格线标记,得到格线标记图像”,其方法为:
S41,设置角度范围[-angle,angle]、角度分辨率resolution_angle,对当前角度angi,求直线端点endpi1、endpi2,将endpi1、endpi2之间直线段上的像素标记为白色,其余部分标记为黑色,构建直线图像img_modeli;其中,直线图像的宽度为高度为 表示直线端点endpi1、endpi2的坐标;
其中,直线端点endpi1、endpi2的计算方法为:
if angi≥0:
endpi1=(0,0),endpi2=(ncol-1,(ncol-1)*tan(angi))
if angi<0:
endpi1=(0,(1-ncol)*tan(angi)),endpi2=(ncol-1,0)
angle<atan2(nrow,ncol)
angi=-angle+resolution_angle×i
其中,nrow、ncol为二值化田字格图像的高度和宽度;
S42,遍历直线图像,以直线图像img_modeli为模板,以剔除噪声区域后的二值化田字格图像为匹配图像,统计模板匹配响应最大位置处,img_modeli与剔除噪声区域后的二值化田字格图像白色相交区的像素数目coveri,若coveri大于设定的像素数目阈值cover_thresh,则将img_modeli标记为保留,否则标记为删除;
S43,遍历直线图像,若img_modeli标记为保留,则构建旋转图像img_rotai,并构建全部像素标记为黑色的空图像img_emptyi,img_emptyi与img_rotai图像大小相同;按行统计img_rotai中每行像素中标记为白色的像素数cont_rowk,若cont_rowk大于cover_thresh,则将img_emptyi中第k行标记为白色;按照angi角度旋转img_emptyi得到的img_modeli对应的标记图像line_labeli;将line_labeli累加得到行直线标记图像;所述img_rotai为剔除噪声区域后的二值化田字格图像按照-angi角度旋转得到的图像;
S44,转置剔除噪声区域后的二值化田字格图像得到image_bw_transpose,将S41-S43中剔除噪声区域后的二值化田字格图像替换为image_bw_transpose,执行S41-S43的方法,得到未转置的列直线标记图像image_square_col_transpose,将image_square_col_transpose转置即得到最终的列直线标记图像image_square_col;
将行直线标记图像与image_square_col进行加和,得到格线标记图像。
在一些优选的实施方式中,“对方格进行聚类”,其方法为:
S521,初始化聚类集合Cluster,遍历方格集合;
S522,对方格squarei,遍历聚类集合,计算squarei的长边与各聚类中心的距离,若该距离与聚类clusterj的距离distij最小,则判断distij是否小于clusterj的聚类半径,若是,则将squarei归为clusterj,若否或者聚类集合Cluster为空,则新建聚类cluster,聚类中心为squarei的长边,聚类半径为squarei的长边的一半;对所有方格重复上述步骤;
S523,遍历聚类集合中的聚类,对聚类clusterj,更新其聚类中心为类内所有方格长边的均值,更新其聚类半径为聚类中心的一半;若聚类clusterj内方格数小于2,则将聚类clusterj从聚类集合中剔除;
S524,重复执行S522-S523 N次,聚类完成后,选择方格数最多的聚类,并计算该聚类内方格的长边的均值aver_len。
在一些优选的实施方式中,“选定聚类后方格数最多的聚类重新进行方格聚类,重新方格聚类后确定每个方格的行坐标索引、列坐标索引,进而得到方格的位置”,其方法为:
S531,初始化聚类集合ClusterR,遍历方格集合;
S532,对方格squarei,遍历聚类集合,计算squarei的左上角y坐标与各聚类中心距离,若与聚类clusterRj的距离distRij最小,则判断distRij是否小于clusterRj的聚类半径,若是,则将squarei归为clusterRj,若否或者聚类集合ClusterR为空,则新建聚类clusterR,聚类中心为squarei的左上角y坐标,聚类半径为aver_len;对所有方格重复上述步骤;
S533,遍历聚类集合中的聚类,对聚类clusterRj,更新其聚类中心为类内所有方格左上角y坐标的均值;若聚类clusterRj内方格数小于2,则将聚类clusterRj从聚类集合中剔除;
S534,重复执行S532-S533 N次;
S535,按照聚类中心对聚类集合ClusterR从小到大排序,遍历聚类集合,对聚类clusterRj,计算其聚类中心与前一个聚类的聚类中心的距离distCj,计算索引增量delta_index=int(distCj/aver_len+0.5),聚类clusterRj的行索引为其前一个聚类行索引加delta_index,其中int表示取整,聚类集合中第一个聚类的行索引为0;聚类clusterRj内的所有方格的行索引为聚类clusterRj的行索引;
S536,对选定聚类后方格数最多的聚类重新进行列聚类,包括:
将S531-S535中的左上角y坐标替换为左上角x坐标、行索引替换为列索引,执行S531-S535,即可得到各方格的列索引;
S537,基于各方格的行索引、列索引,确定方格的位置。
在一些优选的实施方式中,S536与S537之间还包括空缺表格的预测补全步骤:
得到各方格的行索引、列索引后,判断全部方格的数目等于输入的田字格行数与列数的乘积,若是,则完成方格位置的确定,否则,构建标记表格,标记第i行第j列的方格是否存在,表格行数等于方格行坐标索引的最大值加1,表格列数等于方格列坐标索引的最大值加1,初始设置表格每行每列为0;遍历方格,若方格的行坐标索引、列坐标索引分别为i、j,则将表格的第i行第j列标记为1;完成方格遍历后,若标记表格中第i′行、第j′列为0,则根据距离i′最近的前序确定行、距离j′最近的前序确定列、aver_len预测第i′行、第j′列的方格,即空缺方格,空缺方格补全后完成方格位置确定;
其中,根据距离i′最近的前序确定行、距离j′最近的前序确定列、aver_len预测第i′行、第j′列的方格,其方法为
其中,recti′j′为预测方格,recti′j′.x、recti′j′.y为预测方格左上角x、y坐标,recti′j′.width、recti′j′.height为预测方格的宽、高,为距离i′最近的前序确定行的聚类中心,为距离j′最近的前序确定列的聚类中心,deltaR为i′与最近的前序确定行的行索引增量,deltaC为j′与最近的前序确定列的列索引增量。
本发明的第二方面,提出了一种硬笔书法田字格切片图像提取系统,该系统包括:图像获取模块、局部二值化模块、噪声区域剔除模块、格线标记模块、位置获取模块、结果输出模块;
所述图像获取模块,配置为获取灰度田字格图像,作为输入图像;所述灰度田字格图像为对拍摄或扫描的硬笔书法纸田字格图像进行灰度转换后的图像;
所述局部二值化模块,配置为对所述输入图像进行局部二值化,得到二值化田字格图像;
所述噪声区域剔除模块,配置为对所述二值化田字格图像进行轮廓提取,并将尺寸小于设定轮廓尺寸阈值的轮廓对应的区域作为噪声区域进行剔除;
所述格线标记模块,配置为对剔除噪声区域后的二值化田字格图像进行格线标记,得到格线标记图像;
所述位置获取模块,配置为提取所述格线标记图像的轮廓并进行外接多边形的拟合,若拟合的外接多边形的边数等于4且长边与短边的比例小于设定的比例阈值,则将该外接多边形作为方格;对方格进行聚类,并选定聚类后方格数最多的聚类重新进行方格聚类,重新方格聚类后确定每个方格的行坐标索引、列坐标索引,进而得到方格的位置;
所述结果输出模块,配置为基于方格的位置提取田字格切片图像,作为提取结果输出。
本发明的第三方面,提出了一种电子设备,包括:至少一个处理器;以及与至少一个所述处理器通信连接的存储器;其中,所述存储器存储有可被所述处理器执行的指令,所述指令用于被所述处理器执行以实现上述的硬笔书法田字格切片图像提取方法。
本发明的第四方面,提出了一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机指令,所述计算机指令用于被所述计算机执行以实现上述的硬笔书法田字格切片图像提取方法。
本发明的有益效果:
本发明实现不同图像质量下硬笔书法作品中田字格切片图提取,进而为后续精确指导学生规范书写汉字提供技术基础。
1)本发明提出了一种灰度田字格图像局部自适应二值化处理方法,对光照变化、亮度不均匀等多种质量下的田字格图像具有很好的适用性,大大提升了二值化田字格图像的质量;
2)本发明对手写汉字出格、局部涂抹、拍摄歪斜等多种情况下的田字格在提取时,通过局部二值化处理、噪声区域剔除、格线标记、方格聚类以及预测,提升田字格切片图像的鲁棒性,为后续评价田字格内的单个手写汉字是否规范、全篇手写汉字是否整洁提供了技术基础。
附图说明
通过阅读参照以下附图所做的对非限制性实施例所做的详细描述,本申请的其他特征、目的和优点将会变得更明显。
图1是本发明一种实施例的硬笔书法田字格切片图像提取方法的流程示意图;
图2为本发明一种实施例的硬笔书法田字格切片图像提取方法的简略流程示意图;
图3是本发明一种实施例的灰度田字格图像进行局部二值化处理的流程示意图;
图4是本发明一种实施例的二值化田字格图像进行格线标记的流程示意图;
图5是本发明一种实施例的方格位置确定的流程示意图;
图6(a)是本发明一种实施例的局部二值化后的灰度田字格图像;
图6(b)是本发明一种实施例的噪声区域剔除后的灰度田字格图像;
图6(c)是本发明一种实施例的格线标记图像;
图7是本发明一种实施例的适于用来实现本申请实施例的电子设备的计算机系统的结构示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
下面结合附图和实施例对本申请作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释相关发明,而非对该发明的限定。需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。
本发明第一实施例的一种硬笔书法田字格切片图像提取方法,如图1所示,该方法包括以下步骤:
S10,获取灰度田字格图像,作为输入图像;所述灰度田字格图像为对拍摄或扫描的硬笔书法纸田字格图像进行灰度转换后的图像;
S20,对所述输入图像进行局部二值化,得到二值化田字格图像;
S30,对所述二值化田字格图像进行轮廓提取,并将尺寸小于设定轮廓尺寸阈值的轮廓对应的区域作为噪声区域进行剔除;
S40,对剔除噪声区域后的二值化田字格图像进行格线标记,得到格线标记图像;
S50,提取所述格线标记图像的轮廓并进行外接多边形的拟合,若拟合的外接多边形的边数等于4且长边与短边的比例小于设定的比例阈值,则将该外接多边形作为方格;对方格进行聚类,并选定聚类后方格数最多的聚类重新进行方格聚类,重新方格聚类后确定每个方格的行坐标索引、列坐标索引,进而得到方格的位置;
S60,基于方格的位置提取田字格切片图像,作为提取结果输出。
为了更清晰地对本发明硬笔书法田字格切片图像提取方法进行说明,下面结合附图1、2,对本发明方法一种实施例中各步骤进行展开详述。
S10,获取灰度田字格图像,作为输入图像;所述灰度田字格图像为对拍摄或扫描的硬笔书法纸田字格图像进行灰度转换后的图像;
在本实施例中,使用成像设备拍摄硬笔书法纸田字格图像,编辑图像去除非田字格外的不必要区,若拍摄图像为彩色图像,则将图像转换为灰度图像,作为灰度田字格图像image_gray输入,输入田字格包含的行数numRow和列数numCol。
S20,对所述输入图像进行局部二值化,得到二值化田字格图像;
在本实施例中,“对所述输入图像进行局部二值化”,如图3所示,具体如下:
S21,提取灰度田字格图像中的直线,构建直线标记图像image_line,将所述直线标记图像中直线上的像素标记为白色,其余部分标记为黑色,如图6(a)所示;其中,本发明中优选采用霍夫直线检测的方法提取田字格图像中的直线。
S22,构建直线灰度图image_line_gray,并基于直线灰度图计算直线像素灰度积分图;所述直线灰度图与直线标记图像白色像素对应的像素位置,其灰度值为灰度田字格图像中与直线标记图像白色像素对应的像素位置的灰度值,直线灰度图中的其余像素为黑色;积分图是数字图像处理中的一种常用方法,此处不再详细阐述。
S23,构建标记图像image_label,并基于标记图像计算直线像素数目积分图;所述标记图像中与直线标记图像白色像素对应的像素位置,其灰度值设为1,其余像素设为0;
S24,初始化二值化图像image_bw为黑色,遍历灰度田字格图像的每一个像素p(x,y),若p(x,y)的邻域内存在直线像素,则计算邻域内所有直线像素的平均灰度值aver_gray,若p(x,y)的灰度值小于aver_gray,则image_bw中对应位置像素标记为白色,得到二值化田字格图像;
其中,像素p(x,y)的邻域为以像素p(x,y)为中心、大小为W×W的局部矩形窗,W为奇数,W的计算方法为:
其中,widthimage_gray为灰度田字格图像的宽度,numCol为输入的田字格的列数;
判断p(x,y)的邻域内是否存在直线像素,其方法为:
其中,I为直线像素数目积分图,若ncont>0,则p(x,y)的邻域内存在直线像素,否则,不存在直线像素;
p(x,y)邻域内所有直线像素的平均灰度值aver_gray,其计算方法为:
其中,I′为直线像素灰度积分图。
S30,对所述二值化田字格图像进行轮廓提取,并将尺寸小于设定轮廓尺寸阈值的轮廓对应的区域作为噪声区域进行剔除;
在本实施例中,对所述二值化田字格图像进行轮廓提取,并将尺寸小于设定轮廓尺寸阈值的轮廓对应的区域作为噪声区域进行剔除”,其方法为:
S31,对二值化田字格图像进行轮廓提取,得到轮廓集合{contor1,…,contorn};
S32,遍历轮廓集合,对于尺寸小于设定的轮廓尺寸阈值的轮廓,在二值化田字格图像中将该轮廓包围的对应区域标记为黑色;
轮廓尺寸的计算方法为:
轮廓尺寸阈值的计算方法为:
其中,widthimage_gray、heightimage_gray为灰度田字格图像的宽和高,numCol、numRow为输入的田字格的列数和行数,thresh_len表示轮廓尺寸阈值。
S40,对剔除噪声区域后的二值化田字格图像进行格线标记,得到格线标记图像;
在本实施例中,格线标记图像image_square为行直线标记图像与列直线标记图像的加和,行直线标记图像与列直线标记图像的大小与剔除噪声区域后的二值化田字格图像相同,初始全部像素为黑色。
其中,“对剔除噪声区域后的二值化田字格图像进行格线标记,得到格线标记图像”,如图4所示,具体如下:
S41,设置角度范围[-angle,angle]、角度分辨率resolution_angle,对当前角度angi,求直线端点endpi1、endpi2,将endpi1、endpi2之间直线段上的像素标记为白色,其余部分标记为黑色,构建直线图像img_modeli;其中,直线图像的宽度为高度为表示直线端点endpi1、endpi2的坐标。
其中,直线端点endpi1、endpi2的计算方法为:
if angi≥0:
endpi1=(0,0),endpi2=(ncol-1,(ncol-1)*tan(angi))
if angi<0:
endpi1=(0,(1-ncol)*tan(angi)),endpi2=(ncol-1,0)
angle<atan2(nrow,ncol)
angi=-angle+resolution_angle×i
其中,nrow、ncol为二值化田字格图像的高度和宽度。另外,本发明中angle优选配置为5,resolution_angle优选配置为0.1;
S42,遍历直线图像,以直线图像img_modeli为模板,以剔除噪声区域后的二值化田字格图像为匹配图像,统计模板匹配响应最大位置处,img_modeli与剔除噪声区域后的二值化田字格图像白色相交区的像素数目coveri,若coveri大于设定的像素数目阈值cover_thresh,则将img_modeli标记为保留,否则标记为删除;
cover_thresh的计算方法为:
其中,widthimage_gray为灰度田字格图像的宽度。
S43,遍历直线图像,若img_modeli标记为保留,则构建旋转图像img_rotai,并构建全部像素标记为黑色的空图像img_emptyi,img_emptyi与img_rotai图像大小相同;按行统计img_rotai中每行像素中标记为白色的像素数cont_rowk,若cont_rowk大于cover_thresh,则将img_emptyi中第k行标记为白色;按照angi角度旋转img_emptyi得到的img_modeli对应的标记图像line_labeli;将line_labeli累加得到行直线标记图像;所述img_rotai为剔除噪声区域后的二值化田字格图像按照-angi角度旋转得到的图像;
S44,转置剔除噪声区域后的二值化田字格图像得到image_bw_transpose,将S41-S43中剔除噪声区域后的二值化田字格图像替换为image_bw_transpose,执行S41-S43的方法,得到未转置的列直线标记图像image_square_col_transpose,将image_square_col_transpose转置即得到最终的列直线标记图像image_square_col;
将行直线标记图像与image_square_col进行加和,得到格线标记图像,如图6(c)所示。
S50,提取所述格线标记图像的轮廓并进行外接多边形的拟合,若拟合的外接多边形的边数等于4且长边与短边的比例小于设定的比例阈值,则将该外接多边形作为方格;对方格进行聚类,并选定聚类后方格数最多的聚类重新进行方格聚类,重新方格聚类后确定每个方格的行坐标索引、列坐标索引,进而得到方格的位置;
在本实施例中,先进行格线标记图像的轮廓提取及形状筛选,然后进行方格聚类,最后进行方格确定及预测,如图5所示,具体如下:
S51,对格线标记图像image_square进行轮廓提取,遍历轮廓,求每个轮廓的外接拟合多边形,若拟合的外接多边形的边数等于4,则求该轮廓的外接矩形,若该矩形宽、高的长边与短边的比例小于阈值ratio_thresh,则判定该矩形为方格;得到方格集合{square1,…,squaren};其中,ratio_thresh优选配置为1.5。
S52,以方格的长边为对象对方格进行聚类,取类内方格数最多的聚类,计算聚类内方格的长边的均值aver_len;具体为:
S521,初始化聚类集合Cluster,遍历方格集合;
S522,对方格squarei,遍历聚类集合,计算squarei的长边与各聚类中心的距离,若该距离与聚类clusteri的距离distij最小,则判断distij是否小于clusterj的聚类半径,若是,则将squarei归为clusterj,若否或者聚类集合Cluster为空,则新建聚类cluster,聚类中心为squarei的长边,聚类半径为squarei的长边的一半;对所有方格重复上述步骤;
S523,遍历聚类集合中的聚类,对聚类clusterj,更新其聚类中心为类内所有方格长边的均值,更新其聚类半径为聚类中心的一半;若聚类clusterj内方格数小于2,则将聚类clusterj从聚类集合中剔除;
S524,重复执行S522-S523 N次,聚类完成后,选择方格数最多的聚类,并计算该聚类内方格的长边的均值aver_len。
S53,对选定的方格聚类内的方格进行行聚类,确定每个方格的行坐标索引;然后对选定的方格聚类内的方格进行列聚类,确定每个方格的列坐标索引;若全部方格的数目等于输入的田字格行数与列数的乘积,则完成方格位置的确定,否则,构建标记表格,标记第i行第j列的方格是否存在,表格行数等于方格行坐标索引的最大值加1,表格列数等于方格列坐标索引的最大值加1,初始设置表格每行每列为0;遍历方格,若方格的行坐标索引、列坐标索引分别为i、j,则将表格的第i行第j列标记为1;完成方格遍历后,若标记表格中第i′行、第j′列为0,则根据距离i′最近的前序确定行、距离j′最近的前序确定列、aver_len预测第i′行、第j′列的方格;所有空缺方格补全后完成方格位置的确定。具体为:
S531,初始化聚类集合ClusterR,遍历方格集合;
S532,对方格squarei,遍历聚类集合,计算squarei的左上角y坐标与各聚类中心距离,若与聚类clusterRj的距离distRij最小,则判断distRij是否小于clusterRj的聚类半径,若是,则将squarei归为clusterRj,若否或者聚类集合ClusterR为空,则新建聚类clusterR,聚类中心为squarei的左上角y坐标,聚类半径为aver_len;对所有方格重复上述步骤;
S533,遍历聚类集合中的聚类,对聚类clusterRj,更新其聚类中心为类内所有方格左上角y坐标的均值;若聚类clusterRj内方格数小于2,则将聚类clusterRj从聚类集合中剔除;
S534,重复执行S532-S533 N次;
S535,按照聚类中心对聚类集合ClusterR从小到大排序,遍历聚类集合,对聚类clusterRj,计算其聚类中心与前一个聚类的聚类中心的距离distCj,计算索引增量delta_index=iht(distCj/aver_len+0.5),聚类clusterRj的行索引为其前一个聚类行索引加delta_index,其中iht表示取整,聚类集合中第一个聚类的行索引为0;聚类clusterRj内的所有方格的行索引为聚类clusterRj的行索引;
S536,对选定聚类后方格数最多的聚类重新进行列聚类,包括:
将S531-S535中的左上角y坐标替换为左上角x坐标、行索引替换为列索引,执行S531-S535,即可得到各方格的列索引;
S537,基于各方格的行索引、列索引,确定方格的位置。
S536与S537之间还包括空缺表格的预测补全步骤:
得到各方格的行索引、列索引后,判断全部方格的数目等于输入的田字格行数与列数的乘积,若是,则完成方格位置的确定,否则,构建标记表格,标记第i行第j列的方格是否存在,表格行数等于方格行坐标索引的最大值加1,表格列数等于方格列坐标索引的最大值加1,初始设置表格每行每列为0;遍历方格,若方格的行坐标索引、列坐标索引分别为i、j,则将表格的第i行第j列标记为1;完成方格遍历后,若标记表格中第i′行、第j′列为0,则根据距离i′最近的前序确定行、距离j′最近的前序确定列、aver_len预测第i′行、第j′列的方格,即空缺方格,空缺方格补全后完成方格位置确定;
其中,根据距离i′最近的前序确定行、距离j′最近的前序确定列、aver_len预测第i′行、第j′列的方格,其方法为
其中,recti′j′为预测方格,recti′j′.x、recti′j′.y为预测方格左上角x、y坐标,recti′j′.width、recti′j′.height为预测方格的宽、高,为距离i′最近的前序确定行的聚类中心,为距离j′最近的前序确定列的聚类中心,deltaR为i′与最近的前序确定行的行索引增量,deltaC为j′与最近的前序确定列的列索引增量。
S60,基于方格的位置提取田字格切片图像,作为提取结果输出。
本发明第二实施例的一种硬笔书法田字格切片图像提取系统,包括:图像获取模块100、局部二值化模块200、噪声区域剔除模块300、格线标记模块400、位置获取模块500、结果输出模块600;
所述图像获取模块100,配置为获取灰度田字格图像,作为输入图像;所述灰度田字格图像为对拍摄或扫描的硬笔书法纸田字格图像进行灰度转换后的图像;
所述局部二值化模块200,配置为对所述输入图像进行局部二值化,得到二值化田字格图像;
所述噪声区域剔除模块300,配置为对所述二值化田字格图像进行轮廓提取,并将尺寸小于设定轮廓尺寸阈值的轮廓对应的区域作为噪声区域进行剔除;
所述格线标记模块400,配置为对剔除噪声区域后的二值化田字格图像进行格线标记,得到格线标记图像;
所述位置获取模块500,配置为提取所述格线标记图像的轮廓并进行外接多边形的拟合,若拟合的外接多边形的边数等于4且长边与短边的比例小于设定的比例阈值,则将该外接多边形作为方格;对方格进行聚类,并选定聚类后方格数最多的聚类重新进行方格聚类,重新方格聚类后确定每个方格的行坐标索引、列坐标索引,进而得到方格的位置;
所述结果输出模块600,配置为基于方格的位置提取田字格切片图像,作为提取结果输出。
所述技术领域的技术人员可以清楚的了解到,为描述的方便和简洁,上述描述的系统的具体的工作过程及有关说明,可以参考前述方法实施例中的对应过程,在此不再赘述。
需要说明的是,上述实施例提供的硬笔书法田字格切片图像提取系统,仅以上述各功能模块的划分进行举例说明,在实际应用中,可以根据需要而将上述功能分配由不同的功能模块来完成,即将本发明实施例中的模块或者步骤再分解或者组合,例如,上述实施例的模块可以合并为一个模块,也可以进一步拆分成多个子模块,以完成以上描述的全部或者部分功能。对于本发明实施例中涉及的模块、步骤的名称,仅仅是为了区分各个模块或者步骤,不视为对本发明的不当限定。
本发明第三实施例的一种硬笔书法田字格切片图像提取装置,该装置包括:采集设备、中央处理设备;
所述采集设备,包括摄像机、照相机、扫描机,用于采集灰度田字格图像,作为输入图像;所述灰度田字格图像为对拍摄或扫描的硬笔书法纸田字格图像进行灰度转换后的图像;
所述中央处理设备,包括GPU,配置为对所述输入图像进行局部二值化,得到二值化田字格图像;对所述二值化田字格图像进行轮廓提取,并将尺寸小于设定轮廓尺寸阈值的轮廓对应的区域作为噪声区域进行剔除;对剔除噪声区域后的二值化田字格图像进行格线标记,得到格线标记图像;提取所述格线标记图像的轮廓并进行外接多边形的拟合,若拟合的外接多边形的边数等于4且长边与短边的比例小于设定的比例阈值,则将该外接多边形作为方格;对方格进行聚类,并选定聚类后方格数最多的聚类重新进行方格聚类,重新方格聚类后确定每个方格的行坐标索引、列坐标索引,进而得到方格的位置;基于方格的位置提取田字格切片图像,作为提取结果输出。
本发明第四实施例的一种电子设备,至少一个处理器;以及与至少一个所述处理器通信连接的存储器;其中,所述存储器存储有可被所述处理器执行的指令,所述指令用于被所述处理器执行以实现上述的硬笔书法田字格切片图像提取方法。
本发明第五实施例的一种计算机可读存储介质,所述计算机可读存储介质存储有计算机指令,所述计算机指令用于被所述计算机执行以实现上述的硬笔书法田字格切片图像提取方法。
所述技术领域的技术人员可以清楚的了解到,未描述的方便和简洁,上述描述的硬笔书法田字格切片图像提取装置、电子设备、计算机可读存储介质的具体工作过程及有关说明,可以参考前述方法实例中的对应过程,在此不再赘述。
下面参考图7,其示出了适于用来实现本申请系统、方法、设备实施例的服务器的计算机系统的结构示意图。图7示出的服务器仅仅是一个示例,不应对本申请实施例的功能和使用范围带来任何限制。
如图7所示,计算机系统包括中央处理单元(CPU,Central Processing Unit)801,其可以根据存储在只读存储器(ROM,Read Only Memory)802中的程序或者从存储部分808加载到随机访问存储器(RAM,Random Access Memory)803中的程序而执行各种适当的动作和处理。在RAM803中,还存储有系统操作所需的各种程序和数据。CPU801、ROM802以及RAM803通过总线804彼此相连。输入/输出(I/O,Input/Output)接口805也连接至总线804。
以下部件连接至I/O接口805:包括键盘、鼠标等的输入部分806;包括诸如阴极射线管、液晶显示器等以及扬声器等的输出部分807;包括硬盘等的存储部分808;以及包括诸如局域网卡、调制解调器等的网络接口卡的通讯部分809。通讯部分809经由诸如因特网的网络执行通讯处理。驱动器810也根据需要连接至I/O接口805。可拆卸介质811,诸如磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在驱动器810上,以便于从其上读出的计算机程序根据需要被安装入存储部分808。
特别地,根据本公开的实施例,上文参考流程图描述的过程可以被实现为计算机软件程序。例如,本公开的实施例包括一种计算机程序产品,其包括承载在计算机可读介质上的计算机程序,该计算机程序包含用于执行流程图所示的方法的程序代码。在这样的实施例中,该计算机程序可以通过通讯部分809从网络上被下载和安装,和/或从可拆卸介质811被安装。在该计算机程序被CPU801执行时,执行本申请的方法中限定的上述功能。需要说明的是,本申请上述的计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质或者是上述两者的任意组合。计算机可读存储介质例如可以是但不限于:电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子可以包括但不限于:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、RAM、ROM、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本申请中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。而在本申请中,计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于:无线、电线、光缆等等,或者上述的任意合适的组合。
可以以一种或多种程序设计语言或其组合来编写用于执行本申请的操作的计算机程序代码,上述程序设计语言包括面向对象的程序设计语言,如Java、Smalltalk、C++,还包括常规的过程式程序设计语言,如C语言或类似的程序设计语言。程序代码可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络,包括局域网或广域网连接到用户计算机,或者可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。
附图中的流程图和框图,图示了按照本申请各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,该模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
术语“第一”、“第二”等是用于区别类似的对象,而不是用于描述或表示特定的顺序或先后次序。
术语“包括”或者任何其它类似用语旨在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备/装置不仅包括那些要素,而且还包括没有明确列出的其它要素,或者还包括这些过程、方法、物品或者设备/装置所固有的要素。
至此,已经结合附图所示的优选实施方式描述了本发明的技术方案,但是,本领域技术人员容易理解的是,本发明的保护范围显然不局限于这些具体实施方式。在不偏离本发明的原理的前提下,本领域技术人员可以对相关技术特征作出等同的更改或替换,这些更改或替换之后的技术方案都将落入本发明的保护范围之内。
Claims (9)
1.一种硬笔书法田字格切片图像提取方法,其特征在于,该方法包括:
步骤S10,获取灰度田字格图像,作为输入图像;所述灰度田字格图像为对拍摄或扫描的硬笔书法作品田字格图像进行灰度转换后的图像;
步骤S20,对所述输入图像进行局部二值化,得到二值化田字格图像;
步骤S30,对所述二值化田字格图像进行轮廓提取,并将尺寸小于设定轮廓尺寸阈值的轮廓对应的区域作为噪声区域进行剔除;
步骤S40,对剔除噪声区域后的二值化田字格图像进行格线标记,得到格线标记图像;
步骤S50,提取所述格线标记图像的轮廓并进行外接多边形的拟合,若拟合的外接多边形的边数等于4且长边与短边的比例小于设定的比例阈值,则将该外接多边形作为方格;对方格进行聚类,并选定聚类后方格数最多的聚类重新进行方格聚类,重新方格聚类后确定每个方格的行坐标索引、列坐标索引,进而得到方格的位置;
步骤S60,基于方格的位置提取田字格切片图像,作为提取结果输出;
其中,“对所述输入图像进行局部二值化”,其方法为:
S21,提取灰度田字格图像中的直线,构建直线标记图像image_line,将所述直线标记图像中直线上的像素标记为白色,其余部分标记为黑色;
S22,构建直线灰度图image_line_gray,并基于直线灰度图计算直线像素灰度积分图;所述直线灰度图与直线标记图像白色像素对应的像素位置,其灰度值为灰度田字格图像中与直线标记图像白色像素对应的像素位置的灰度值,直线灰度图中的其余像素为黑色;
S23,构建标记图像image_label,并基于标记图像计算直线像素数目积分图;所述标记图像中与直线标记图像白色像素对应的像素位置,其灰度值设为1,其余像素设为0;
S24,初始化二值化图像image_bw为黑色,遍历灰度田字格图像的每一个像素p(x,y),若p(x,y)的邻域内存在直线像素,则计算邻域内所有直线像素的平均灰度值aver_gray,若p(x,y)的灰度值小于aver_gray,则image_bw中对应位置像素标记为白色,得到二值化田字格图像;
其中,像素p(x,y)的邻域为以像素p(x,y)为中心、大小为W×W的局部矩形窗,W为奇数,W的计算方法为:
其中,widthimage_gray为灰度田字格图像的宽度,numCol为输入的田字格的列数;
判断p(x,y)的邻域内是否存在直线像素,其方法为:
其中,I为直线像素数目积分图,若ncont>0,则p(x,y)的邻域内存在直线像素,否则,不存在直线像素;
p(x,y)邻域内所有直线像素的平均灰度值aver_gray,其计算方法为:
其中,I′为直线像素灰度积分图。
2.根据权利要求1所述的硬笔书法田字格切片图像提取方法,其特征在于,“对所述二值化田字格图像进行轮廓提取,并将尺寸小于设定轮廓尺寸阈值的轮廓对应的区域作为噪声区域进行剔除”,其方法为:
S31,对二值化田字格图像进行轮廓提取,得到轮廓集合{contor1,…,contorn};
S32,遍历轮廓集合,对于尺寸小于设定的轮廓尺寸阈值的轮廓,在二值化田字格图像中将该轮廓包围的对应区域标记为黑色;
轮廓尺寸的计算方法为:
轮廓尺寸阈值的计算方法为:
其中,widthimage_gray、heightimage_gray为灰度田字格图像的宽和高,numCol、numRow为输入的田字格的列数和行数,thresh_len表示轮廓尺寸阈值。
3.根据权利要求1所述的硬笔书法田字格切片图像提取方法,其特征在于,“对剔除噪声区域后的二值化田字格图像进行格线标记,得到格线标记图像”,其方法为:
S41,设置角度范围[-angle,angle]、角度分辨率resolution_angle,对当前角度angi,求直线端点endpi1、endpi2,将endpi1、endpi2之间直线段上的像素标记为白色,其余部分标记为黑色,构建直线图像img_modeli;其中,直线图像的宽度为高度为 表示直线端点endpi1、endpi2的坐标;
其中,直线端点endpi1、endpi2的计算方法为:
其中,nrow、ncol为二值化田字格图像的高度和宽度;
S42,遍历直线图像,以直线图像img_modeli为模板,以剔除噪声区域后的二值化田字格图像为匹配图像,统计模板匹配响应最大位置处,img_modeli与剔除噪声区域后的二值化田字格图像白色相交区的像素数目coveri,若coveri大于设定的像素数目阈值cover_thresh,则将img_modeli标记为保留,否则标记为删除;
S43,遍历直线图像,若img_modeli标记为保留,则构建旋转图像img_rotai,并构建全部像素标记为黑色的空图像img_emptyi,img_emptyi与img_rotai图像大小相同;按行统计img_rotai中每行像素中标记为白色的像素数cont_rowk,若cont_rowk大于cover_thresh,则将img_emptyi中第k行标记为白色;按照angi角度旋转img_emptyi得到的img_modeli对应的标记图像line_labeli;将line_labeli累加得到行直线标记图像;所述img_rotai为剔除噪声区域后的二值化田字格图像按照-angi角度旋转得到的图像;
S44,转置剔除噪声区域后的二值化田字格图像得到image_bw_transpose,将S41-S43中剔除噪声区域后的二值化田字格图像替换为image_bw_transpose,执行S41-S43的方法,得到未转置的列直线标记图像image_square_col_transpose,将image_square_col_transpose转置即得到最终的列直线标记图像image_square_col;
将行直线标记图像与列直线标记图像image_square_col进行加和,得到格线标记图像。
4.根据权利要求1所述的硬笔书法田字格切片图像提取方法,其特征在于,“对方格进行聚类”,其方法为:
S521,初始化聚类集合Cluster,遍历方格集合;
S522,对方格squarei,遍历聚类集合,计算squarei的长边与各聚类中心的距离,若该距离与聚类clusterj的距离distij最小,则判断distij是否小于clusterj的聚类半径,若是,则将squarei归为clusterj,若否或者聚类集合Cluster为空,则新建聚类cluster,聚类中心为squarei的长边,聚类半径为squarei的长边的一半;对所有方格重复上述步骤;
S523,遍历聚类集合中的聚类,对聚类clusterj,更新其聚类中心为类内所有方格长边的均值,更新其聚类半径为聚类中心的一半;若聚类clusteri内方格数小于2,则将聚类clusteri从聚类集合中剔除;
S524,重复执行S522-S523 N次,聚类完成后,选择方格数最多的聚类,并计算该聚类内方格的长边的均值aver_len。
5.根据权利要求1所述的硬笔书法田字格切片图像提取方法,其特征在于,“选定聚类后方格数最多的聚类重新进行方格聚类,重新方格聚类后确定每个方格的行坐标索引、列坐标索引,进而得到方格的位置”,其方法为:
S531,初始化聚类集合ClusterR,遍历方格集合;
S532,对方格squarei,遍历聚类集合,计算squarei的左上角y坐标与各聚类中心距离,若与聚类clusterRj的距离distRij最小,则判断distRij是否小于clusterRj的聚类半径,若是,则将squarei归为clusterRj,若否或者聚类集合ClusterR为空,则新建聚类clusterR,聚类中心为squarei的左上角y坐标,聚类半径为aver_len;对所有方格重复上述步骤;
S533,遍历聚类集合中的聚类,对聚类clusterRi,更新其聚类中心为类内所有方格左上角y坐标的均值;若聚类clusterRi内方格数小于2,则将聚类clusterRj从聚类集合中剔除;
S534,重复执行S532-S533 N次;
S535,按照聚类中心对聚类集合ClusterR从小到大排序,遍历聚类集合,对聚类clusterRj,计算其聚类中心与前一个聚类的聚类中心的距离distCj,计算索引增量delta_index=int(distCj/aver_len+0.5),聚类clusterRj的行索引为其前一个聚类行索引加delta_index,其中int表示取整,聚类集合中第一个聚类的行索引为0;聚类clusterRj内的所有方格的行索引为聚类clusterRj的行索引;
S536,对选定聚类后方格数最多的聚类重新进行列聚类,包括:
将S531-S535中的左上角y坐标替换为左上角x坐标、行索引替换为列索引,执行S531-S535,即可得到各方格的列索引;
S537,基于各方格的行索引、列索引,确定方格的位置。
6.根据权利要求5所述的硬笔书法田字格切片图像提取方法,其特征在于,S536与S537之间还包括空缺表格的预测补全步骤:
得到各方格的行索引、列索引后,判断全部方格的数目等于输入的田字格行数与列数的乘积,若是,则完成方格位置的确定,否则,构建标记表格,标记第i行第j列的方格是否存在,表格行数等于方格行坐标索引的最大值加1,表格列数等于方格列坐标索引的最大值加1,初始设置表格每行每列为0;遍历方格,若方格的行坐标索引、列坐标索引分别为i、j,则将表格的第i行第j列标记为1;完成方格遍历后,若标记表格中第i′行、第j′列为0,则根据距离i′最近的前序确定行、距离j′最近的前序确定列、aver_len预测第i′行、第j′列的方格,即空缺方格,空缺方格补全后完成方格位置确定;
其中,根据距离i′最近的前序确定行、距离j′最近的前序确定列、aver_len预测第i′行、第j′列的方格,其方法为:
7.一种硬笔书法田字格切片图像提取系统,其特征在于,该系统包括:图像获取模块、局部二值化模块、噪声区域剔除模块、格线标记模块、位置获取模块、结果输出模块;
所述图像获取模块,配置为获取灰度田字格图像,作为输入图像;所述灰度田字格图像为对拍摄或扫描的硬笔书法作品田字格图像进行灰度转换后的图像;
所述局部二值化模块,配置为对所述输入图像进行局部二值化,得到二值化田字格图像;
所述噪声区域剔除模块,配置为对所述二值化田字格图像进行轮廓提取,并将尺寸小于设定轮廓尺寸阈值的轮廓对应的区域作为噪声区域进行剔除;
所述格线标记模块,配置为对剔除噪声区域后的二值化田字格图像进行格线标记,得到格线标记图像;
所述位置获取模块,配置为提取所述格线标记图像的轮廓并进行外接多边形的拟合,若拟合的外接多边形的边数等于4且长边与短边的比例小于设定的比例阈值,则将该外接多边形作为方格;对方格进行聚类,并选定聚类后方格数最多的聚类重新进行方格聚类,重新方格聚类后确定每个方格的行坐标索引、列坐标索引,进而得到方格的位置;
所述结果输出模块,配置为基于方格的位置提取田字格切片图像,作为提取结果输出;
其中,“对所述输入图像进行局部二值化”,其方法为:
提取灰度田字格图像中的直线,构建直线标记图像image_line,将所述直线标记图像中直线上的像素标记为白色,其余部分标记为黑色;
构建直线灰度图image_line_gray,并基于直线灰度图计算直线像素灰度积分图;所述直线灰度图与直线标记图像白色像素对应的像素位置,其灰度值为灰度田字格图像中与直线标记图像白色像素对应的像素位置的灰度值,直线灰度图中的其余像素为黑色;
构建标记图像image_label,并基于标记图像计算直线像素数目积分图;所述标记图像中与直线标记图像白色像素对应的像素位置,其灰度值设为1,其余像素设为0;
初始化二值化图像image_bw为黑色,遍历灰度田字格图像的每一个像素p(x,y),若p(x,y)的邻域内存在直线像素,则计算邻域内所有直线像素的平均灰度值aver_gray,若p(x,y)的灰度值小于aver_gray,则image_bw中对应位置像素标记为白色,得到二值化田字格图像;
其中,像素p(x,y)的邻域为以像素p(x,y)为中心、大小为W×W的局部矩形窗,W为奇数,W的计算方法为:
其中,widthimage_gray为灰度田字格图像的宽度,numCol为输入的田字格的列数;
判断p(x,y)的邻域内是否存在直线像素,其方法为:
其中,I为直线像素数目积分图,若ncont>0,则p(x,y)的邻域内存在直线像素,否则,不存在直线像素;
p(x,y)邻域内所有直线像素的平均灰度值aver_gray,其计算方法为:
其中,I′为直线像素灰度积分图。
8.一种电子设备,其特征在于,包括:
至少一个处理器;以及与至少一个所述处理器通信连接的存储器;
其中,所述存储器存储有可被所述处理器执行的指令,所述指令用于被所述处理器执行以实现权利要求1-6任一项所述的硬笔书法田字格切片图像提取方法。
9.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机指令,所述计算机指令用于被所述计算机执行以实现权利要求1-6任一项所述的硬笔书法田字格切片图像提取方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111216841.2A CN113901936B (zh) | 2021-10-19 | 2021-10-19 | 硬笔书法田字格切片图像提取方法、系统、设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111216841.2A CN113901936B (zh) | 2021-10-19 | 2021-10-19 | 硬笔书法田字格切片图像提取方法、系统、设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113901936A CN113901936A (zh) | 2022-01-07 |
CN113901936B true CN113901936B (zh) | 2022-04-19 |
Family
ID=79192969
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111216841.2A Active CN113901936B (zh) | 2021-10-19 | 2021-10-19 | 硬笔书法田字格切片图像提取方法、系统、设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113901936B (zh) |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109543777A (zh) * | 2018-11-28 | 2019-03-29 | 中国科学院自动化研究所 | 手写汉字书写质量评价方法及系统 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103258201B (zh) * | 2013-04-26 | 2016-04-06 | 四川大学 | 一种融合全局和局部信息的表格线提取方法 |
CN110647824B (zh) * | 2019-09-03 | 2022-06-28 | 四川大学 | 基于计算机视觉技术的增值税发票版面提取方法 |
CN112200053B (zh) * | 2020-09-30 | 2023-08-22 | 西安工业大学 | 一种融合局部特征的表格识别方法 |
CN112634262A (zh) * | 2020-12-31 | 2021-04-09 | 浙江优学智能科技有限公司 | 一种基于互联网的写字质量评价方法 |
-
2021
- 2021-10-19 CN CN202111216841.2A patent/CN113901936B/zh active Active
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109543777A (zh) * | 2018-11-28 | 2019-03-29 | 中国科学院自动化研究所 | 手写汉字书写质量评价方法及系统 |
Also Published As
Publication number | Publication date |
---|---|
CN113901936A (zh) | 2022-01-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111325203B (zh) | 一种基于图像校正的美式车牌识别方法及系统 | |
CN111914834B (zh) | 图像识别方法、装置、计算机设备和存储介质 | |
CN111179152B (zh) | 一种道路标识识别方法及装置、介质、终端 | |
CN110781885A (zh) | 基于图像处理的文本检测方法、装置、介质及电子设备 | |
CN102567300A (zh) | 图片文档的处理方法及装置 | |
CN110210440B (zh) | 一种表格图像版面分析方法及系统 | |
CN110502985B (zh) | 表格识别方法、装置及表格识别设备 | |
CN106682629A (zh) | 一种复杂背景下身份证号识别算法 | |
CN112990183B (zh) | 离线手写汉字同名笔画提取方法、系统、装置 | |
CN110647795A (zh) | 一种表格识别方法 | |
CN111598104B (zh) | 一种车牌字符识别方法及其系统 | |
CN113570665A (zh) | 路沿提取的方法、装置及电子设备 | |
CN114038004A (zh) | 一种证件信息提取方法、装置、设备及存储介质 | |
CN113628180B (zh) | 一种基于语义分割网络的遥感建筑物检测方法及系统 | |
CN110705442A (zh) | 一种试卷答案自动获取方法、终端设备及存储介质 | |
CN117496518A (zh) | 基于文本检测和表格检测的电子卷宗图像智能矫正方法 | |
CN113901936B (zh) | 硬笔书法田字格切片图像提取方法、系统、设备 | |
CN116596921B (zh) | 一种焚烧炉渣分选方法及系统 | |
CN106324708A (zh) | 雨量记录图纸的数字化方法、装置 | |
CN109145912B (zh) | 一种数字仪表读数自动识别方法 | |
CN116091933A (zh) | 基于遥感技术的水域地形的地质分析方法及装置 | |
CN112950662B (zh) | 一种交通场景空间结构提取方法 | |
CN114581901A (zh) | 一种古建墙壁受污题记文字图像边缘提取方法 | |
JP2004094427A (ja) | 帳票画像処理装置及び該装置を実現するためのプログラム | |
CN115909369B (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 |