coordinate transformer wip

This commit is contained in:
Matthias Bisping 2022-04-03 01:45:01 +02:00
parent 4d86e78307
commit c1c3f541d4
2 changed files with 53 additions and 0 deletions

View File

@ -21,3 +21,5 @@ PyMuPDF==1.19.6
fpdf==1.7.2
coverage==6.3.2
Pillow==9.1.0
PDFNetPython3~=9.1.0
pdf2image==1.16.0

View File

@ -0,0 +1,51 @@
import numpy as np
import pytest
from fpdf import fpdf
from pdf2image import pdf2image
from image_prediction.image_extractor.extractor import ImageMetadataPair
from image_prediction.info import Info
from test.conftest import array_to_image, add_image
@pytest.fixture
def coordinate_test_image():
return array_to_image(np.zeros(shape=(100, 100, 3)))
@pytest.fixture
def coordinate_test_fpdf():
pdf = fpdf.FPDF(unit="pt", format=(200, 200))
return pdf
@pytest.fixture
def position_metadata(corner):
metadata = {Info.X1: 0, Info.Y1: 0, Info.WIDTH: 100, Info.HEIGHT: 100, Info.PAGE_IDX: 0}
if corner == "top left":
metadata.update({Info.X1: 0, Info.Y1: 0})
elif corner == "bottom left":
metadata.update({Info.X1: 0, Info.Y1: 100})
return metadata
@pytest.fixture
def coordinate_test_pdf(position_metadata, coordinate_test_image, coordinate_test_fpdf):
add_image(coordinate_test_fpdf, ImageMetadataPair(coordinate_test_image, position_metadata))
return coordinate_test_fpdf.output(dest="S").encode("latin1")
@pytest.fixture
def coordinate_test_page_image(coordinate_test_pdf):
return pdf2image.convert_from_bytes(coordinate_test_pdf)[0]
@pytest.mark.parametrize("corner", ["top left", "bottom left"])
def test_coordinate_transformer(position_metadata, coordinate_test_page_image):
# coordinate_test_pdf.output("/tmp/x.pdf")
# coordinate_test_page_image.show()