System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind() 一种根据图片字符所在行裁剪或抹除内容的方法技术_技高网

一种根据图片字符所在行裁剪或抹除内容的方法技术

技术编号:41613532 阅读:16 留言:0更新日期:2024-06-13 02:17
本发明专利技术涉及图片字符识别领域,具体为一种根据图片字符所在行裁剪或抹除内容的方法,解决了目前裁剪图片需要人工采用截图软件处理,存在费时费力的问题。本发明专利技术所述的一种根据图片字符所在行裁剪或抹除内容的方法,该方法可以计算识别内容所在行,计算行在图片内的坐标,根据计算所得的坐标裁剪图片,可指定方向,即所在行向上裁剪或者向下裁剪,也可以根据坐标判断是否需要抹除内容而不是裁剪。相比现有对图片裁剪或抹除内容的方法能够实现根据字符的识别进行坐标计算进行裁剪或抹除。

【技术实现步骤摘要】

本专利技术涉及图片字符识别领域,具体为一种根据图片字符所在行裁剪或抹除内容的方法


技术介绍

1、在考试阅卷中,需要查看扫描上传的学生答题试卷,而试卷上是有学生姓名等敏感信息的,因此在阅卷时,需要将图片上的学生姓名,学生考号,学生签字等信息去除。而现有的技术中,裁剪图片大多需要借助截图软件人工进行处理,费时费力,还容易出错。因此,开发一种可以根据图片字符所在行裁剪或抹除内容的方法,具有很好的实际应用价值。


技术实现思路

1、本专利技术为解决目前裁剪图片需要人工采用截图软件处理,存在费时费力的问题,具体为一种根据图片字符所在行裁剪或抹除内容的方法。

2、本专利技术是采用如下技术方案实现的:一种根据图片字符所在行裁剪或抹除内容的方法,包括如下步骤:读取图片文件,将图片转化为bufferedimage(缓冲图像)对象,对bufferedimage对象进行二值化处理,将图片中的像素值变为0或1,然后将二值化后的图像分割成多个连通区域;对于每个连通区域,使用字符识别算法tesseract进行字符识别,得到该区域的文本内容和字符坐标信息;遍历所有连通区域,将每个区域的文本内容和字符坐标信息保存到结果集中;返回结果集,完成图片中各个字符的识别和坐标获取;根据要求字符进行匹配,从识别的文本内容按行进行匹配,计算匹配到要求字符的行坐标,之后按要求进行裁剪或者抹除。

3、本专利技术主要针对图片字符识别,计算字符所在行,计算行坐标,根据坐标对图片进行裁剪或者对内容进行抹除。>

4、首先对图片字符识别通过tesseract技术进行识别,利用字体模型通过tesseract可以将图片内所有字符,以及各个字符所对应的坐标识别出来,但是无法确定行数,也不能确定行坐标,根据单个字符去做裁剪或者抹除的话,同一个图片内相同的字符太多,而本专利技术主要解决的就是能够根据字符内容去计算行数,然后确认行数坐标。

5、所述字符是指类字形单位或符号,包括字母、数字、运算符号、标点符号和其他符号,以及一些功能性符号;所述图片是指通过扫描得到的考试试卷(通常为一张一张的分立图片),某个区域内的所有字符构成该区域的文本内容,每张图片上的所有字符构成该图片的文本内容(图片文本)。

6、进一步的,对图片进行二值化处理时,将图片中的像素值变为0或1,从左到右依次扫描图片的每个像素点,形成一条水平的扫描线;对于每一个像素点,确定它与当前水平扫描线的交点位置;基于交点的位置和方向,判断该像素点是否与扫描线相交;如果像素点与扫描线相交,那么将该像素点填充上预定的颜色(通常是黑色或白色,对应于二值化后的0或1);记录下当前像素点的纵坐标,并将此纵坐标设为下一条扫描线的位置在下一次扫描开始时,将扫描线移动到上一步记录的纵坐标位置,而不是继续从上一行的底部开始;这样做的目的是为了能够继续处理与前一个像素点相连的区域,确保连通区域的像素都能够被正确填充;重复执行上述步骤,直到所有像素点都被处理完毕。

7、进一步的,将图片转化为bufferedimage对象后,通过对bufferedimage对象进行判断该图片属于哪种格式的图片,与图片现有的格式进行比较,查看格式是否正确,如不正确则修改当前图片格式。

8、对于字符识别错误,则返回识别结果提醒用户该行内该字符识别错误,如果不用该行则忽略,如果就是使用该行进行裁剪,则可以按照识别结果进行裁剪。

9、进一步的,在计算匹配到要求字符的行坐标时,先按照“/n”对图片文本进行分割,确定每行的字符,然后根据得到的每个字符的坐标,将所有字符放到list中,将行文本进行tochararray处理,计算行坐标则在list内取下标为文本length-1的字符,行坐标则为(0,该字符的y)。

10、此处所述图片文本,是指整个图片上的全部字符的集合;将图片文本按照字符排列分割为许多行,每一行构成一个行文本。

11、进一步的,所述裁剪包括向上裁剪、向下裁剪;所述抹除包括向上抹除和向下抹除。该方法以图片左上角为坐标原点,根据获取到字符的坐标根据(x,y,width,height),对于向上裁剪则为(0,y,width,height-y),代表意思为从图片起始坐标(0,y)开始按照图片宽度width以及图片高度为height-y裁剪一个新的图片保存,由于是根据行进行裁剪x默认为0,下同;向下裁剪算法为(0,0,width,y),代表意思为从图片起始坐标(0,0)开始按照图片宽度width以及图片高度为y裁剪一个新的图片保存;向上抹除(0,0,width,y),代表意思为从图片起始坐标(0,0)开始向上抹除,抹除内容宽为width,高为y;向下抹除(0,y,width,height-y),代表意思为从图片起始坐标(0,y)坐标开始向下抹除,抹除内容宽为width,高为height-y。

12、与现有技术相比具有的有益效果:

13、本专利技术所述的一种根据图片字符所在行裁剪或抹除内容的方法,该方法可以计算识别内容所在行,计算行在图片内的坐标,根据计算所得的坐标裁剪图片,可指定方向,即所在行向上裁剪或者向下裁剪,也可以根据坐标判断是否需要抹除内容而不是裁剪。相比现有对图片裁剪或抹除内容的方法能够实现根据字符的识别进行坐标计算从而进行裁剪或抹除。

本文档来自技高网...

【技术保护点】

1.一种根据图片字符所在行裁剪或抹除内容的方法,其特征在于:包括如下步骤:读取图片文件,将图片转化为BufferedImage对象,对BufferedImage对象进行二值化处理,将图片中的像素值变为0或1,然后将二值化后的图像分割成多个连通区域;对于每个连通区域,使用字符识别算法Tesseract进行字符识别,得到该区域的文本内容和字符坐标信息;遍历所有连通区域,将每个区域的文本内容和字符坐标信息保存到结果集中;返回结果集,完成图片中各个字符的识别和坐标获取;根据要求字符进行匹配,从识别的文本内容按行进行匹配,计算匹配到要求字符的行坐标,之后按要求进行裁剪或者抹除。

2.根据权利要求1所述的一种根据图片字符所在行裁剪或抹除内容的方法,其特征在于:对图片进行二值化处理时,将图片中的像素值变为0或1,从左到右依次扫描图片的每个像素点,形成一条水平的扫描线;对于每一个像素点,确定它与当前水平扫描线的交点位置;基于交点的位置和方向,判断该像素点是否与扫描线相交;如果像素点与扫描线相交,那么将该像素点填充上预定的颜色;记录下当前像素点的纵坐标,并将此纵坐标设为下一条扫描线的位置;在下一次扫描开始时,将扫描线移动到上一步记录的纵坐标位置,重复执行上述步骤,直到所有像素点都被处理完毕。

3.根据权利要求1所述的一种根据图片字符所在行裁剪或抹除内容的方法,其特征在于:将图片转化为BufferedImage对象后,通过对BufferedImage对象进行判断该图片属于哪种格式的图片,与图片现有的格式进行比较,查看格式是否正确,如不正确则修改当前图片格式。

4.根据权利要求1所述的一种根据图片字符所在行裁剪或抹除内容的方法,其特征在于:根据要求字符进行匹配时,如果字符识别错误,则返回识别结果提醒用户该行内该字符识别错误,如果不用该行则忽略,如果就是使用该行进行裁剪或抹除,则按照识别结果进行裁剪或抹除。

5.根据权利要求1-4任一项所述的一种根据图片字符所在行裁剪或抹除内容的方法,其特征在于:在计算匹配到要求字符的行坐标时,先按照“/n”对图片文本进行分割,确定每行的字符,然后根据得到的每个字符的坐标,将所有字符放到List中,将行文本进行toCharArray处理,计算行坐标则在list内取下标为文本length-1的字符,行坐标则为(0,该字符的y)。

6.根据权利要求5所述的一种根据图片字符所在行裁剪或抹除内容的方法,其特征在于:所述裁剪包括向上裁剪、向下裁剪;所述抹除包括向上抹除和向下抹除。

7.根据权利要求6所述的一种根据图片字符所在行裁剪或抹除内容的方法,其特征在于:该方法以图片左上角为坐标原点,根据获取到字符的坐标根据(x,y,width,height),对于向上裁剪则为(0,y,width,height-y),代表意思为从图片起始坐标(0,y)开始按照图片宽度width以及图片高度为height-y裁剪一个新的图片保存,由于是根据行进行裁剪x默认为0,下同;向下裁剪算法为(0,0,width,y),代表意思为从图片起始坐标(0,0)开始按照图片宽度width以及图片高度为y裁剪一个新的图片保存;向上抹除(0,0,width,y),代表意思为从图片起始坐标(0,0)开始向上抹除,抹除内容宽为width,高为y;向下抹除(0,y,width,height-y),代表意思为从图片起始坐标(0,y)坐标开始向下抹除,抹除内容宽为width,高为height-y。

...

【技术特征摘要】

1.一种根据图片字符所在行裁剪或抹除内容的方法,其特征在于:包括如下步骤:读取图片文件,将图片转化为bufferedimage对象,对bufferedimage对象进行二值化处理,将图片中的像素值变为0或1,然后将二值化后的图像分割成多个连通区域;对于每个连通区域,使用字符识别算法tesseract进行字符识别,得到该区域的文本内容和字符坐标信息;遍历所有连通区域,将每个区域的文本内容和字符坐标信息保存到结果集中;返回结果集,完成图片中各个字符的识别和坐标获取;根据要求字符进行匹配,从识别的文本内容按行进行匹配,计算匹配到要求字符的行坐标,之后按要求进行裁剪或者抹除。

2.根据权利要求1所述的一种根据图片字符所在行裁剪或抹除内容的方法,其特征在于:对图片进行二值化处理时,将图片中的像素值变为0或1,从左到右依次扫描图片的每个像素点,形成一条水平的扫描线;对于每一个像素点,确定它与当前水平扫描线的交点位置;基于交点的位置和方向,判断该像素点是否与扫描线相交;如果像素点与扫描线相交,那么将该像素点填充上预定的颜色;记录下当前像素点的纵坐标,并将此纵坐标设为下一条扫描线的位置;在下一次扫描开始时,将扫描线移动到上一步记录的纵坐标位置,重复执行上述步骤,直到所有像素点都被处理完毕。

3.根据权利要求1所述的一种根据图片字符所在行裁剪或抹除内容的方法,其特征在于:将图片转化为bufferedimage对象后,通过对bufferedimage对象进行判断该图片属于哪种格式的图片,与图片现有的格式进行比较,查看格式是否正确,如不正确则修改当前图片格式。

4.根据权利要求1所述的一种根据图片字符所在行裁剪或抹除内容的方法,其特征在于:根据要求字...

【专利技术属性】
技术研发人员:曹锋锋李赟王勇王曙红
申请(专利权)人:智林信息技术股份有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1