分享完美解决批量化切割图片中文字的方法(附切割工具)
- soomal回复100#euzen
嗯,图片中上下空白区域用软件可以批量切除,图片的高度和宽度可以调整到上次设定的范围内,大概设置在多少可以处理? - euzen回复101#soomal
下载贴中附件,增加了相应配置项。
上图中①对应配置文件cutimg.conf中的 black_edge_up_height ,可以打开你的源图,在编辑软件中得到这个高度约为600
②对应 执行程序时输入的第二个参数,分割图片的高度,实际约为400
③对应配置文件中的 min_h_cut_width,分割图片的最小宽度,约为500
还有一个black_edge_bottom_height在图中没有体现,实际也约为600
配置文件"format":"tiff" 可以直接输出tiff黑白格式。cutimg.zip(4.94 MB)
设置好后可以直接解决问题,无需另外对源图作处理。 - euzen
得到上述数字,我都是使用系统自带的画图,用“选择”工具选要分割的部分,下面会显示出宽和高的数值,多选几个平均一下,判断后写入到配置文件即可。 - soomal回复103#euzen
太好了,非常感谢您的用心设计,图片很多,麻烦的是不同图上的字符数数量不等,需先将不同规格的图归下类来提高切割识别准确率,做完来汇报。
不知有无自动化识别不同大小字符而不用反复修改数值的可能性,目测手动输入数值后效果趋于完美! - euzen回复104#soomal
应该可以多次扫描同一图片,取平均值的方法确定要分割的大小。但文字的多样性,需考虑的细节不少,超出一个辅助小工具软件的范围了。 iOS fly ~ - o0o0oo0o0oMark
。。 - 77880099
- shannon_sduMark py代码,另外请教一下,手写汉字那种好切割吗? iOS fly ~
- euzen回复108#shannon_sdu
只要文字大小比较平均,字与字之间的间隔分明,用投影法都比较方便识别分割,与手写体,印刷体无关。 iOS fly ~ - 古押衙马克 iOS fly ~
- tauercky回复109#euzen
大牛帮我看看,这样的书中留有书写空白,我想打印,但是会得到很厚的一摞纸。希望PDF导出成图片后,把大段的空白处理掉,题与题之间更紧凑的拼在一起(和原来行距差不多就行),这样不是会得到宽度和原书一样,但是高度很小的图片吗,再把这些图片按原顺序适当的拼接成一页纸的高度pdf样本.pdf(1.7 MB)
以前问过,没有合适的解决方案https://www.hi-pda.com/forum/viewthread.php?tid=2007033
https://www.hi-pda.com/forum/viewthread.php?tid=2007036 - euzen回复111#tauercky
删除空白并不困难,重排就比较麻烦,也有可能前几题并到前面一页了,最后一题放不下,结果还是要占一张纸,后面留白更多。
另外扫描有透底的情况,对识别空白有干扰。 iOS fly ~ - 林志颖马克,我要学py
- shannon_sduOK,谢谢 iOS fly ~
- soomal
- 321344755请问得到这样的效果图是什么原因呢?横向没有切割。我把配置文件设置成了这样:{
"min_h_cut_width":260,
"black_edge_up_height":300,
"black_edge_bottom_height":367,
"name_direction":"right",
"format":"jpg",
"quality":100
}
回复68#euzen - 321344755
- 321344755试了下,我的需求直接用imagemagick就可以完成。
先用convert命令切边,然后用magick命令等分图片。
大佬的py看起来好厉害,每次学py都是入门到放弃。 - myfox1900马克马克小尾巴~
- etoadmark一下 iOS fly ~
- euzen回复117#321344755
如果可以提供源图,可以分析一下。 iOS fly ~ - euzen回复118#321344755
Python刚学不久,核心代码和原理都是上网搜索的。主要是Python的库功能丰富易用,能简单解决好多问题。 iOS fly ~ - dong图片识别马克吐温
- tonie马克。。。
- soomal回复122#euzen
新学就能这么厉害了:+1:可以分享您学PY入门方法吗? - euzen找个自己有兴趣的小项目,然后就是搜索教程和资料。 iOS fly ~
- 警察蜀黍强力马克py
- suifeng123源码看完了,写的不错。
但是有个问题,投影法对于有交错的字块,就无法切割了。
这类问题该如何解决呢? - 321344755
- XwX谢谢分享。
地板精神。 - deepdream受启发了
谢谢各位楼主 - v4xyzmark 有点意思
- euzen回复129#321344755
原图扫的时候有些噪点,如红色框内的。而且压缩得有点厉害,字的边缘有点模糊。但这些影响其实并不大,因为字和字,字和部首之前分隔还是很明显的。
主要问题是,你想要得到下图橙色框的预期结果,但按之前程序中使用的投影法,先竖向分割,绿色线之间是三个不同的部分。原先的程序是无法得到你想要的结果的。
要得到你想要的结果,必须修改程序以适配需求。比如直接中间按黑线大概位置分成左右两部分,然后再水平方向分割。 - dong这才是地板精神
- 888837mark
- soomal回复102#euzen
今天刚开始实验,按顶部黑线高度250,底部黑线高度200,设置下来,最后一行字符没有自动切,直接漏掉了,这是怎么回事,是上面参数写的不对吗?4DBA95D1-A420-49DC-94CD-5BD794823DE6.tiff(103.15 KB)
- soomal回复102#euzen
晚上处理了一批图片,都是漏掉了最下面一行字符,有什么办法设置吗? - soomal
- euzen回复137#soomal
不知道是什么原因,可能这前上传的某个版本有些问题,用现在的版本测试了一下没有问题。我再上传一下最新的吧。分割你给的图片的配置写在cutimg.conf里。现在的版本加多了一个参数,height_rate。
主要作用是定义一个高度的大小范围,比如height_rate = 1.1 ,你命令行里填入的高度是400,则范围在400 到440 (400*1.1)之间浮动。这样分割会更加匹配些。cutimg.zip(4.94 MB)
上面的程序配合cutimg.conf,分割效果如下: - soomal
- soomal