Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
PaddlePaddle
PaddleOCR
提交
4a91a212
P
PaddleOCR
项目概览
PaddlePaddle
/
PaddleOCR
8 个月 前同步成功
通知
1511
Star
32962
Fork
6643
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
108
列表
看板
标记
里程碑
合并请求
7
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
P
PaddleOCR
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
108
Issue
108
列表
看板
标记
里程碑
合并请求
7
合并请求
7
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
前往新版Gitcode,体验更适合开发者的 AI 搜索 >>
未验证
提交
4a91a212
编写于
8月 10, 2023
作者:
S
shiyutang
提交者:
GitHub
8月 10, 2023
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
compat_pillow (#10596)
上级
b3f9f681
变更
7
隐藏空白更改
内联
并排
Showing
7 changed file
with
37 addition
and
12 deletion
+37
-12
applications/PCB字符识别/gen_data/gen.py
applications/PCB字符识别/gen_data/gen.py
+11
-4
ppocr/data/imaug/rec_img_aug.py
ppocr/data/imaug/rec_img_aug.py
+2
-1
ppocr/utils/visual.py
ppocr/utils/visual.py
+8
-2
ppstructure/utility.py
ppstructure/utility.py
+8
-2
requirements.txt
requirements.txt
+1
-1
tools/infer/predict_rec.py
tools/infer/predict_rec.py
+1
-1
tools/infer/utility.py
tools/infer/utility.py
+6
-1
未找到文件。
applications/PCB字符识别/gen_data/gen.py
浏览文件 @
4a91a212
...
...
@@ -17,6 +17,7 @@ https://github.com/zcswdt/Color_OCR_image_generator
"""
import
os
import
random
import
PIL
from
PIL
import
Image
,
ImageDraw
,
ImageFont
import
json
import
argparse
...
...
@@ -55,8 +56,11 @@ def get_horizontal_text_picture(image_file, chars, fonts_list, cf):
ch_w
=
[]
ch_h
=
[]
for
ch
in
chars
:
left
,
top
,
right
,
bottom
=
font
.
getbbox
(
ch
)
wt
,
ht
=
right
-
left
,
bottom
-
top
if
int
(
PIL
.
__version__
.
split
(
'.'
)[
0
])
<
10
:
wt
,
ht
=
font
.
getsize
(
ch
)
else
:
left
,
top
,
right
,
bottom
=
font
.
getbbox
(
ch
)
wt
,
ht
=
right
-
left
,
bottom
-
top
ch_w
.
append
(
wt
)
ch_h
.
append
(
ht
)
f_w
=
sum
(
ch_w
)
...
...
@@ -102,8 +106,11 @@ def get_vertical_text_picture(image_file, chars, fonts_list, cf):
ch_w
=
[]
ch_h
=
[]
for
ch
in
chars
:
left
,
top
,
right
,
bottom
=
font
.
getbbox
(
ch
)
wt
,
ht
=
right
-
left
,
bottom
-
top
if
int
(
PIL
.
__version__
.
split
(
'.'
)[
0
])
<
10
:
wt
,
ht
=
font
.
getsize
(
ch
)
else
:
left
,
top
,
right
,
bottom
=
font
.
getbbox
(
ch
)
wt
,
ht
=
right
-
left
,
bottom
-
top
ch_w
.
append
(
wt
)
ch_h
.
append
(
ht
)
f_w
=
max
(
ch_w
)
...
...
ppocr/data/imaug/rec_img_aug.py
浏览文件 @
4a91a212
...
...
@@ -18,6 +18,7 @@ import numpy as np
import
random
import
copy
from
PIL
import
Image
import
PIL
from
.text_image_aug
import
tia_perspective
,
tia_stretch
,
tia_distort
from
.abinet_aug
import
CVGeometry
,
CVDeterioration
,
CVColorJitter
,
SVTRGeometry
,
SVTRDeterioration
from
paddle.vision.transforms
import
Compose
...
...
@@ -406,7 +407,7 @@ class GrayRecResizeImg(object):
def
__init__
(
self
,
image_shape
,
resize_type
,
inter_type
=
'Image.LANCZOS'
,
inter_type
=
"Image.Resampling.LANCZOS"
,
scale
=
True
,
padding
=
False
,
**
kwargs
):
...
...
ppocr/utils/visual.py
浏览文件 @
4a91a212
...
...
@@ -14,6 +14,7 @@
import
cv2
import
os
import
numpy
as
np
import
PIL
from
PIL
import
Image
,
ImageDraw
,
ImageFont
...
...
@@ -62,8 +63,13 @@ def draw_box_txt(bbox, text, draw, font, font_size, color):
draw
.
rectangle
(
bbox
,
fill
=
color
)
# draw ocr results
left
,
top
,
right
,
bottom
=
font
.
getbbox
(
text
)
tw
,
th
=
right
-
left
,
bottom
-
top
if
int
(
PIL
.
__version__
.
split
(
'.'
)[
0
])
<
10
:
tw
=
font
.
getsize
(
text
)[
0
]
th
=
font
.
getsize
(
text
)[
1
]
else
:
left
,
top
,
right
,
bottom
=
font
.
getbbox
(
text
)
tw
,
th
=
right
-
left
,
bottom
-
top
start_y
=
max
(
0
,
bbox
[
0
][
1
]
-
th
)
draw
.
rectangle
(
[(
bbox
[
0
][
0
]
+
1
,
start_y
),
(
bbox
[
0
][
0
]
+
tw
+
1
,
start_y
+
th
)],
...
...
ppstructure/utility.py
浏览文件 @
4a91a212
...
...
@@ -13,6 +13,7 @@
# limitations under the License.
import
random
import
ast
import
PIL
from
PIL
import
Image
,
ImageDraw
,
ImageFont
import
numpy
as
np
<<<<<<<
HEAD
...
...
@@ -137,8 +138,13 @@ def draw_structure_result(image, result, font_path):
[(
box_layout
[
0
],
box_layout
[
1
]),
(
box_layout
[
2
],
box_layout
[
3
])],
outline
=
box_color
,
width
=
3
)
left
,
top
,
right
,
bottom
=
font
.
getbbox
(
region
[
'type'
])
text_w
,
text_h
=
right
-
left
,
bottom
-
top
if
int
(
PIL
.
__version__
.
split
(
'.'
)[
0
])
<
10
:
text_w
,
text_h
=
font
.
getsize
(
region
[
'type'
])
else
:
left
,
top
,
right
,
bottom
=
font
.
getbbox
(
region
[
'type'
])
text_w
,
text_h
=
right
-
left
,
bottom
-
top
draw_layout
.
rectangle
(
[(
box_layout
[
0
],
box_layout
[
1
]),
(
box_layout
[
0
]
+
text_w
,
box_layout
[
1
]
+
text_h
)],
...
...
requirements.txt
浏览文件 @
4a91a212
...
...
@@ -15,4 +15,4 @@ premailer
openpyxl
attrdict
PyMuPDF
<1.21.0
Pillow
>=10.0.0
Pillow
tools/infer/predict_rec.py
浏览文件 @
4a91a212
...
...
@@ -158,7 +158,7 @@ class TextRecognizer(object):
if
self
.
rec_algorithm
==
'ViTSTR'
:
img
=
image_pil
.
resize
([
imgW
,
imgH
],
Image
.
BICUBIC
)
else
:
img
=
image_pil
.
resize
([
imgW
,
imgH
],
Image
.
LANCZOS
)
img
=
image_pil
.
resize
([
imgW
,
imgH
],
Image
.
Resampling
.
LANCZOS
)
img
=
np
.
array
(
img
)
norm_img
=
np
.
expand_dims
(
img
,
-
1
)
norm_img
=
norm_img
.
transpose
((
2
,
0
,
1
))
...
...
tools/infer/utility.py
浏览文件 @
4a91a212
...
...
@@ -19,6 +19,7 @@ import platform
import
cv2
import
numpy
as
np
import
paddle
import
PIL
from
PIL
import
Image
,
ImageDraw
,
ImageFont
import
math
from
paddle
import
inference
...
...
@@ -475,7 +476,11 @@ def draw_box_txt_fine(img_size, box, txt, font_path="./doc/fonts/simfang.ttf"):
def
create_font
(
txt
,
sz
,
font_path
=
"./doc/fonts/simfang.ttf"
):
font_size
=
int
(
sz
[
1
]
*
0.99
)
font
=
ImageFont
.
truetype
(
font_path
,
font_size
,
encoding
=
"utf-8"
)
length
=
font
.
getlength
(
txt
)
if
int
(
PIL
.
__version__
.
split
(
'.'
)[
0
])
<
10
:
length
=
font
.
getsize
(
txt
)[
0
]
else
:
length
=
font
.
getlength
(
txt
)
if
length
>
sz
[
0
]:
font_size
=
int
(
font_size
*
sz
[
0
]
/
length
)
font
=
ImageFont
.
truetype
(
font_path
,
font_size
,
encoding
=
"utf-8"
)
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录