У меня есть набор данных с парой изображений разных размеров. Чтобы обучить свою нейронную сеть, я хотел изменить размер этих изображений до одного общего размера, добавив черную рамку вокруг всех моих изображений. Я использовал следующий код:
from PIL import Image
import numpy as np
old_im = Image.open('C:/Users/tobis/OneDrive/Desktop/Masterarbeit/data/2017-IWT4S-HDR_LP-dataset/crop_h1/I00002.png')
old_size = old_im.size
print(old_size)
new_size = (800, 800)
print(new_size)
new_im = Image.new("RGB", new_size) ## luckily, this is already black!
new_im.paste(old_im, ((new_size[0]-old_size[0])/2,
(new_size[1]-old_size[1])/2))
И получил эту ошибку:
---------------------------------------------------------------------------
TypeError Traceback (most recent call last)
<ipython-input-37-3363f60dba3b> in <module>
11 new_im = Image.new("RGB", new_size) ## luckily, this is already black!
12 new_im.paste(old_im, ((new_size[0]-old_size[0])/2,
---> 13 (new_size[1]-old_size[1])/2))
~\.conda\envs\python36\lib\site-packages\PIL\Image.py in paste(self, im, box, mask)
1466 self.im.paste(im, box, mask.im)
1467 else:
-> 1468 self.im.paste(im, box)
1469
1470 def alpha_composite(self, im, dest=(0, 0), source=(0, 0)):
TypeError: integer argument expected, got float
Я не знаю, почему я получил эту ошибку. Я проверил типы записей переменных, и все они являются целыми числами, а число с плавающей запятой отсутствует ... Я также удивлен, что первое вычитание выглядит нормально, а второе вызывает проблему ...
Может кто-нибудь мне помочь?