|
本帖最后由 chigre3 于 2018-11-30 08:14 编辑
, G% f: @& Y4 L3 Z7 M8 Y7 y! Z% ^" e, x1 d9 Y
一、致谢:0 c' ^ m2 ?( x) a- @
感谢 @vbnet 的自动画线测试版, 现在经过个人修改, 几乎完全删除了原先的内容, 软件名称仍为 Picture Capture# K8 ~/ s7 d% ]4 h
感谢 @孤影 的自动划线软件, 给了很多界面上的参考, I0 v2 E$ K# ~9 d! [& ^% N/ \( L
------------------------------------------------------------------------) l& X# f" |2 p3 V9 ?
二、这个软件有什么用呢???/ W: T5 P# g" h0 ^" G
极大地提高制作图片版词典的效率,现在个人需要做的事情仅仅为:8 P7 x) |9 R- q# C
1. 前期的图片处理:Abbyy Finereader(整体校直)、Photoshop(模板调位置, 统一)、ComicEnhancerPro(转换格式、大小) 等& f4 H+ |( A, x2 P* R/ f
2. 使用本软件进行:
) N' t0 e2 R' M! f& g! e (1) 全部页面的 自动划线-->自动OCR
u: D5 u6 s& T: Q: F" W (2) 逐页校对划线和文本(可删可增)8 c, l6 B/ g3 V: n+ G$ {) z
(3) A.合并 .pdic (词条 + 坐标信息) --> Excel 模板 --> 文本替换 --> 精确高亮定位 整页版 图片词典
% `: G" I. t( c B.导出单词整体切图 --> 合并 .PWWords (词条+图片名称) --> 文本替代 --> 切图版 图片词典
! H$ ^/ x# Y! Y------------------------------------------------------------------------
( F9 ~! U1 H' d+ G三、实现的功能:& K, b' s2 ]5 B, c
1. 画线:, X$ r' y8 M7 }3 S) M+ Y7 ?
(1) 自动分析页面 + 自动画线
6 j6 {7 G1 y6 [: `! ` (2) 手动模式定义页面 + 自动划线1 S! {% P3 P4 G$ f5 r2 g$ g7 L- @3 K
(3) 鼠标右键单击修改单栏重新自动画线" K2 k+ L5 ~2 Q4 x/ f O9 K
以上均 + 鼠标左键单击增加画线, 文本框内快捷键`删除划线
. P" F% P8 R. U$ Z' B3 t3 A2 r7 H6 {3 V$ Q, C4 q$ O9 t
2. OCR:
( K4 r; Z$ z% {9 v, } 采用Tesseract OCR, 具体语言文件 tessdata 可以到官网下载:https://github.com/tesseract-ocr/tessdata
: k- Q2 H/ l8 ~. c& R+ ]8 { (1) 导出文本:可外部编辑后导入, 避免OCR单个切图的不足; M/ A5 Z: k; r2 \- ?
(2) 导入文本) c, G9 D2 @8 W: d
(3) 1 + 2:直接将OCR结果导入当前页面的文本框 --> 校对
! Q# E& Q1 K: l2 _, X! u1 w 外置批量替换表达式文本, 可自行创建和编辑, 适应各个词典不同OCR处理的场景3 `6 y. ?! A* a) Y9 p
- X' D: Y* \# z8 I3 a$ J 3. 切图:
4 k) m/ q; }4 ?$ ?6 m (1) 词条单行切图:也可以使用外部其他OCR软件处理,或者其他用途
# x1 v7 x5 V* d- F% a% B' i9 G (2) 词条整体切图:实现切图版图片词典的制作(背景透明,不过目前需要其他PNG优化软件缩减大小:https://www.pdawiki.com/forum/thread-19157-1-1.html)8 O6 n! ]/ J7 [2 Y- X
(实例1:[英-汉] 20161113《英汉大词典(第2版)》10页单词 切图版 https://www.pdawiki.com/forum/thread-19015-1-1.html)5 E5 i) Y2 F$ e- S, @( I
(实例2:新西汉词典 切图版 https://www.pdawiki.com/forum/fo ... 6545&fromuid=174481)
- P5 m# S5 `2 ?5 e# }0 x 5 \7 m' o1 C9 q8 P& W" i
可实现仅导出切图坐标等信息,不导出切图,方便使用外部软件进行
" w H+ P+ ~8 w/ }) @5 ~
& a# V. S& G& a: V. s
- y: d _2 R9 N ~3 K6 O7 |& | 4. 校对:- V& w, F. z3 N. Z% L" ]
列表式样, 与主窗口同步更新文本框内容, 也高亮匹配提示! ~, z6 F( E$ A$ I9 E( \) c
" E( X6 D( B) O: r 5. 其他:$ b# a. J3 X( s! _. z# N4 f5 H
(1) 配置文件保存、导入: }/ Q; C. x- g: c& A, \6 _9 X. O
(2) 自动下一页+操作(定时):自动保存、自动画线、自动OCR、自动切图。方便无人值守完成相应任务5 x5 _9 d5 A" T8 u5 r5 z8 u
(3) 最重要的还是要人工校对!!!!3 a8 @- O+ q, k- `
(4) 高度自定义参数设置
, m/ m! t7 `# A# K+ B1 Y------------------------------------------------------------------------4 k" \ h4 q4 a- q* {( K+ b
如题,放个图:
/ \- g0 F. ^; S' R7 f" K9 I' B' |. L9 ]
+ c( p }3 t; b, j9 u, c
4 j; d! y* p' x! ?6 e
' F/ F1 M2 w$ B5 l& |截图内的词条文字为OCR结果
* ~- j+ Z* w3 y+ b5 Q6 C9 K/ O
& [3 k+ Z/ o- c6 k& I- Z
7 O1 b c7 X* z, a# N0 B- R7 m- f, j( E' F0 R/ M
----------------------------20181130更新:9 j5 x( Y- i( ~
校对窗口增加按当前提示索引(全部或部分)填充当前划线的文本框!9 s8 o9 P* O+ P/ v
----------------------------, d$ H6 _$ p) [8 q6 y) Z
20180809更新:& v2 ]7 p8 M/ F0 s E
插图画区域由之前的矩形升级为任意多边形
) d% [- m. P6 n D3 T$ U
L# a7 `1 }0 Y$ r1 R
, ?# |- f- r* o4 {----------------------------
" @. B" r8 {' ?0 G20180614更新:, z6 [/ j1 w+ W; P
在校对界面中增加一列单词,即大词库表中 上页末单词和本页末单词 之间的所有单词。* p y/ j# n# J) _+ i, r( A" L
单击则替换当前校对文本框中的文本!
1 W. @0 E" L( j" b6 f( G不同颜色提示,方便定位!
3 ~4 s0 {: g6 X, [7 r# ]8 Q/ H( @! H% z3 m; t" q
# E/ ~3 p2 d# i7 ~. v
8 ]; \+ ^- q3 A, f+ B
----------------------------
% y4 M' o) V1 g9 p, `20170314更新2: }! D6 k( D3 s2 t/ w( R; u
校对界面修改如下,增添更多特殊字符(aeiou等),方便校对的时候直接复制粘贴:. R" F" [5 e* H' X
; I: M& A5 h9 ]/ S) @6 n s
/ S* L( X) y) l% S20170314更新:
2 k/ D$ Y' M/ S a起始页-->终止页( Y+ B0 w5 s( d Z5 r
[切图]-【词条整体切图】% @4 U. v4 A- z3 E! i$ n1 A2 t
---> 会直接把范围内的页面的所有单词切图导出(软件界面会有假死的状态,不用理会,导出结束就OK了). {+ h' F8 x% m: q; `# O9 o
如果起始页和终止页为空,则导出当前页的词条切图
- N+ U) \4 v& ^
, C: ~7 J% E* |) ]! N8 L在校对界面时,主界面【√隐藏线框】,那么此时就只有颜色框(平行线宽)3 d4 p4 g- U6 G1 D6 X
当前词条亮黄色,其他还是红色
+ t( C, _ d) w8 F6 S9 D0 @" _这儿主要是考虑到有时候词条不只是单行,多行的时候可以方便查看。
6 D: F3 {3 P0 g1 [- V- B" s' |7 E! f& y2 R/ Z+ O# g
----------------------------
6 Q" L' h) m2 Z" T20170313更新:
) D2 R. y! a$ |! B1. 词条整体导出切图的判断逻辑的补充(3栏以上时,位于不同列的上下单词中间隔了空列。之前这个情况未考虑到)& f; s0 M- O; a5 M9 _# R" Q
【仅修改了:从PDIC整体导出切图的坐标数据的这部分补充内容】! A, v. N* Z' L; D5 Y
----------------------------1 o7 k' R: @" Z; b1 B
20170217更新:
2 E V% a3 j6 b1. 画线判断的方法改进(2种方法均改进)1 `% v4 q: [ D4 m: b6 Z6 f
----------------------------; r. } Z6 w3 V
20170115更新:5 \7 j$ i( m' c
1. tessdata 的完整语言列表,具体语言移步【https://github.com/tesseract-ocr/tessdata】下载
: Y% F" u" ]0 S1 ^2. 在图片文件名列表上方的文本框里输入“SMALL”,点击【校对】,每个词条行的缩略图切图(非原始图片上裁剪)
' _9 C; L8 }4 V3 f----------------------------- i X% F9 y& v% Y7 }
20161119更新:% x7 A% a- n8 x$ @
1.修复保存坐标数据时的bug8 w- J) X" u8 w; D
2.修复单词整体导出页面的一个bug' R& t- n% j) ?) Q
3.增加功能: 选定范围页面的批量导入词条5 h- D7 U, Y5 K: g6 G8 z. W
4.增加功能: 快速查找定位索引% H6 k. i9 O) H
----------------------------
/ X$ H1 J/ t) C8 G4 u( m. G& ~5 `4 X20161123更新:: ?& \3 y5 t2 v) p: B# L* I/ @3 D
重写词条整体导出切图的判断逻辑,现在应该不会有切图坐标不一致、切图数目不一致的情况了。; B) R/ ?, h9 M6 c2 x5 J
# _6 G% ^# j% j, @2 j- 问题:页面是否有词条?
' M$ \3 R' ], L0 i" H) s6 d% A - 1. NO --> 直接导出和栏数一致的大切图 (标记为上页末词条续)
0 N6 D$ T" }& h' c: p( x6 x. K - 2. YES --> . ?8 O, j, ?$ F2 Z3 g* O( L
- (1) 确定0号词条所在栏:
& o) r9 b( {' l$ _& E) Y9 [1 s - --> 0号词条所在栏之前的栏, 直接导出大切图 (标记为上页末词条续)/ q8 Q4 i4 M( q: V r- ~/ g# y
- --> 0号词条所在栏上方若还有部分上页末词条接续, 则导出切图 (标记为上页末词条续)" I5 q- d; t5 S4 g" F$ @7 K
- (2) 次数为所有词条数目的循环:
2 ~+ c+ W( L( ?! {4 f( v$ x8 C - A. 若: 当前为最后一个词条 --> 确定高度
. ^2 M- s) v* b: j' n. m& K7 | - B. 否则:
9 q+ a$ I7 c T2 R7 h# A. z - a. 下一个词条在下一栏 --> 确定高度. t) _, x* k% I/ ^, F9 @7 ?9 M
- --> 如果当前词条在下一栏仍有接续 --> 导出切图 (标记为当前词条接续2)
, \9 Y3 h* O. s - b. 下一个词条在同一栏 --> 确定高度
, k! |% J/ x; T - $ m- D/ C; v- q6 S, w. v
- --> 导出每个词条的切图
7 `7 W1 h4 F' ^6 o& j* w# U! H
1 T% Y+ ?* J2 f& \- (3) 确定最后一个词条所在栏:
, a6 C+ f9 ]. L - --> 最后词条所在栏之后的栏, 直接导出大切图 (标记为本页末词条续)
复制代码
: v! C; j& ]+ X9 S: i* i* A3 k$ N. l. \
, m. _( p$ v- ~- P重要更新:
7 S# \: Z% {# ^* a% r! r1. 词条整体切图模块重写
: ]! k: R' Y7 N1 d0 T8 R2. 增加根据.pdic导出所有图片切图信息(+切图)--> 几十秒【如下面动图GIF】0 d. |) P2 a& U3 H1 b; v
' f" u. L$ D3 e: I5 w5 v
* N2 _( F' d) E F8 j/ R2 f% ~2 e6 J3 A" Q2 F% }+ m2 D( J
2016.11.283 [* V4 F1 y2 P" z- I
更新:一个小小的bug(跳过页首处下方如果单行接续,会因为判断的距离和行高过于接近造成缺漏 --> 修改了公式)
6 x) z6 K( B" F& i0 r5 o* d
8 Z/ k, D, F) M* J. [4 \5 \- x |
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有账号?免费注册
x
评分
-
1
查看全部评分
-
|