Наконец я получил подсказку после анализа и публикации здесь, если кому-то нужно исследовать этот набор данных.Тем не менее, они упомянули значение единицы измерения, каким образом они преобразуют данную координату в значение в пикселях, но это было трудно отследить, потому что они не упомянули это в своем руководстве / руководстве.Они упомянули другое место в качестве аннотации.
Сначала вам нужно преобразовать их шестнадцатеричное значение из 16 символов, используя формат IEEE 754 с прямым порядком байтов.Например, заданные координаты для метки:
BBox = ['4074145c00000005', '4074dd95999999a9', '4080921e74bc6a80', '406fb9999999999a']
Преобразовать с помощьюpython,
conv_pound = struct.unpack ('! d', str (t) .decode ('hex')) [0]) для t в BBox]
Вы получите значение в фунтах, которое составляет 1/72 дюйма.Мы обычно используем координаты в пиксельных единицах, и мы знаем, что 1 дюйм равен 96 пикселям.Итак,
conv_pound = [321.2724609375003, 333.8490234375009, 530.2648710937501, 253.8]
Затем разделите каждое значение на 72 и умножьте на 96, чтобы в итоге получить соответствующее значение пикселя, которое равно,
in_pixel = [428.36328, 445.13203, 707.01983, 338.40000]
Они начали отсчитывать позицию пикселя в левом нижнем углу изображения документа.Если вы рассматриваете из верхнего левого угла (обычно мы учитываем таким образом), вы должны вычесть 2-е и 4-е значение из высоты изображения.Если мы считаем, что image [height, width] равно [1123, 793], то мы можем представить вышеуказанные координаты в целочисленном значении как
label_boundary = [428, 678, 707, 785]