cv-analysis-service/test/unit_tests/pdf2image_test.py
Julius Unverfehrt a871fa3bd3 Pull request #19: Refactor evaluate
Merge in RR/cv-analysis from refactor-evaluate to master

Squashed commit of the following:

commit cde03a492452610322f8b7d3eb804a51afb76d81
Author: Julius Unverfehrt <julius.unverfehrt@iqser.com>
Date:   Fri Jul 22 12:37:36 2022 +0200

    add optional show analysis metadata dict

commit fb8bb9e2afa7767f2560f865516295be65f97f20
Author: Julius Unverfehrt <julius.unverfehrt@iqser.com>
Date:   Fri Jul 22 12:13:18 2022 +0200

    add script to evaluate runtime per page for all cv-analysis operations for multiple PDFs

commit 721e823e2ec38aae3fea51d01e2135fc8f228d94
Author: Julius Unverfehrt <julius.unverfehrt@iqser.com>
Date:   Fri Jul 22 10:30:31 2022 +0200

    refactor

commit a453753cfa477e162e5902ce191ded61cb678337
Author: Julius Unverfehrt <julius.unverfehrt@iqser.com>
Date:   Fri Jul 22 10:19:24 2022 +0200

    add logic to transform result coordinates accordingly to page rotation, update annotation script to use this logic

commit 71c09758d0fb763a2c38c6871e1d9bf51f2e7c41
Author: Julius Unverfehrt <julius.unverfehrt@iqser.com>
Date:   Thu Jul 21 15:57:49 2022 +0200

    introduce pipeline for image conversion, analysis and result formatting

commit aef252a41b9658dd0c4f55aa2d9f84de933586e0
Author: Julius Unverfehrt <julius.unverfehrt@iqser.com>
Date:   Thu Jul 21 15:57:38 2022 +0200

    introduce pipeline for image conversion, analysis and result formatting
2022-07-22 15:11:40 +02:00

25 lines
747 B
Python

import fitz
import numpy as np
import pytest
from cv_analysis.utils.pdf2image import pdf_to_image_metadata_pairs
@pytest.fixture
def pdf(n_pages):
doc = fitz.open()
for n in range(n_pages):
page = doc.new_page()
where = fitz.Point(50, 100)
page.insert_text(where, "De gustibus non est disputandum.", fontsize=30)
return doc.write()
@pytest.mark.parametrize("n_pages", [1])
def test_pdf_to_array_and_metadata(pdf):
for image_metadata_pair in pdf_to_image_metadata_pairs(pdf):
assert isinstance(image_metadata_pair.image, np.ndarray)
assert image_metadata_pair.image.shape == (2339, 1653, 3) # Height, Width, Color channels
assert isinstance(image_metadata_pair.metadata, dict)