分享完美解决批量化切割图片中文字的方法(附切割工具)
- am99回复50#soomal
我现有方案针对书法的。对你的图片效果不好。因为你的样本字高比较不均匀需要特别调參,正如我上文提高的几个因素 iOS fly ~ - 懒散的牛马克。。py好厉害 ios fly~
- Hijhon牛逼。
- soomal
- 0fifa
- 0fifa竖着的搞不定,程序区分不了符和字。
- 01802CorelDRAW 位图转矢量 iOS fly ~
- pllnxr0ee技术大佬很多啊,马克一下
- euzen分别将高度设为300,340,两次得到的结果,综合一下就得到预期结果了。
老i5 CPU上,分割一张高分图要2秒左右。cutimg_height300.zip(576.5 KB)
cutimg_height340.rar(571.99 KB)
- linxlintt我也正好有需求,马克一记
- soomal
- soomal
- soomal
- 藤五估计是后面忘了前面编过这个字,又发明了一个写法 iOS fly ~
- soomal
- soomal操作错误,继续
- euzen回复70#soomal
jpg和bmp 测试过没问题,其他应该也可以,都是主流格式。
打包程序还有一个分割宽度,是以你上传的pdf的图片为基准设定死了(如第一页图分辨率是2424x2712)。如果你的源图不是和pdf上的一致,可能会有问题,需要重新修改及打包程序以,增加这个参数为可调。 - soomal回复72#euzen
试了主流图片格式都支持,现在切完默认从左往右编号,切古书的话编号刚好反了,古书是从右往左阅读,在哪里能修改成从右往左编号?
没有编号修改之前,想了一个办法,切之前图片水平翻转,切完再水平翻转过来。整体自动切的字符接近完美,效率高到飞起来,有些不适配的字符,再单独适配。 - euzen回复73#soomal
cutimg.zip(4.94 MB)
增加了一个配置文件cutimg.conf,可以在里面指定分割文件命名的方向。还有就是可以指定分割文件的最小宽度,以适应不同分辨率的源图。复制代码- {
- "min_h_cut_width":180,
- "name_direction":"right"
- }
- {
- soomal
- euzen回复75#soomal
只是直接调用pillow控件生成图片,指定后缀就生成文件了。tiff格式好像比较复杂的吧,还分彩色,黑色,多页。好像没有相关参数指定格式。
你可以参考一下这句,分割并保存文件,将.jpg换成.tiff复制代码- img_corp.crop([x_min,h_split_lines[i],x_max,h_split_lines[i+1]] ).save('{}/{}_{}.jpg'.format(sav_path,v_count,i))
- euzen回复77#zengdragon
你这个应该用ocr软件了吧,有倾斜校正功能。 iOS fly ~ - soomal
- soomal
- zengdragon谢谢哈。我试试。 会将白发倚庭树
- euzen回复79#soomal
tiff的深度支持需要编译libtiff库,我电脑上没有c编译器,暂时没这个条件处理了。
你说的噪点问题,应该是jpeg压缩率造成的,缺省是75,质量比较差。在配置文件中加了个quality的设置,设为95或100,生成的图片质量就没问题了,再批量转tiff吧。cutImg.zip(4.94 MB)
- soomal
- euzen
- euzen有趣的项目果然是学习的动力,今天又学习到可变参数的使用方法,可以输出TIFF结果文件了。
- cxsfree马克吐温
iOS fly ~ - soomal回复85#euzen
换了一种图,把最小行距设置为350,切割命令 cutimg 43.tif 450,出现下面的错误提示是什么情况,如何适配?
c:\python37-32\lib\site-packages\PyInstaller\loader\pyimod03_importers.py:623: MatplotlibDeprecationWarning:The MATPLOTLIBDATA environment variable was deprecated in Matplotlib 3.1 and will be removed in 3.3.
2536 2996
Traceback (most recent call last):
File "cutImg.py", line 181, in <module>
NameError: name 'max_y1' is not defined
[5240] Failed to execute script cutImg - stevenflp厉害 iOS fly ~
- 729088672mark 切图
- 虎啸川
- 小菜花马克,批量化切割图,感谢分享HiPDA·NG
- 888837mark
- hxj629好贴 iOS fly ~
- 西狼d版精神!
- johnalexMark iOS fly ~
- xhsec马克,学习
- soomal回复82#euzen
有新图想要切,但图中需切割的高度和宽度不同,按上面参数设置后,出现错误,不知是什么原因? - jmhqlw马克工具。
- soomal回复82#euzen
想匹配下面的图,设置了行距和高,总是提示错误,该如何设置呢?5231EFEA-0938-45EC-B33A-6926900E170C.tiff(40.88 KB)
FF4D7362-207F-4D3C-9F21-DE0E28595553.tiff(74.76 KB)
B48B18C9-8859-43CB-A691-116CB8D27E0A.tiff(134.45 KB)
- euzen