Skip to content

Commit

Permalink
Fix fitz camelCase deprecation and .PDF not being recognized as pdf f…
Browse files Browse the repository at this point in the history
…ile (PaddlePaddle#10181) (PaddlePaddle#10707)

* Fix fitz camelCase deprecation and .PDF not being recognized as pdf file

* refactor get_image_file_list function
  • Loading branch information
itasli authored Aug 23, 2023
1 parent b162237 commit 9ef797a
Showing 1 changed file with 5 additions and 6 deletions.
11 changes: 5 additions & 6 deletions ppocr/utils/utility.py
Original file line number Diff line number Diff line change
Expand Up @@ -62,7 +62,6 @@ def get_image_file_list(img_file):
if img_file is None or not os.path.exists(img_file):
raise Exception("not found any img file in {}".format(img_file))

img_end = {'jpg', 'bmp', 'png', 'jpeg', 'rgb', 'tif', 'tiff', 'gif', 'pdf'}
if os.path.isfile(img_file) and _check_image_file(img_file):
imgs_lists.append(img_file)
elif os.path.isdir(img_file):
Expand Down Expand Up @@ -96,7 +95,7 @@ def alpha_to_color(img, alpha_color=(255, 255, 255)):
return img

def check_and_read(img_path):
if os.path.basename(img_path)[-3:] in ['gif', 'GIF']:
if os.path.basename(img_path)[-3:].lower() == 'gif':
gif = cv2.VideoCapture(img_path)
ret, frame = gif.read()
if not ret:
Expand All @@ -107,19 +106,19 @@ def check_and_read(img_path):
frame = cv2.cvtColor(frame, cv2.COLOR_GRAY2RGB)
imgvalue = frame[:, :, ::-1]
return imgvalue, True, False
elif os.path.basename(img_path)[-3:] in ['pdf']:
elif os.path.basename(img_path)[-3:].lower() == 'pdf':
import fitz
from PIL import Image
imgs = []
with fitz.open(img_path) as pdf:
for pg in range(0, pdf.pageCount):
for pg in range(0, pdf.page_count):
page = pdf[pg]
mat = fitz.Matrix(2, 2)
pm = page.getPixmap(matrix=mat, alpha=False)
pm = page.get_pixmap(matrix=mat, alpha=False)

# if width or height > 2000 pixels, don't enlarge the image
if pm.width > 2000 or pm.height > 2000:
pm = page.getPixmap(matrix=fitz.Matrix(1, 1), alpha=False)
pm = page.get_pixmap(matrix=fitz.Matrix(1, 1), alpha=False)

img = Image.frombytes("RGB", [pm.width, pm.height], pm.samples)
img = cv2.cvtColor(np.array(img), cv2.COLOR_RGB2BGR)
Expand Down

0 comments on commit 9ef797a

Please sign in to comment.