首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用python向图像添加黑框

使用python向图像添加黑框
EN

Stack Overflow用户
提问于 2020-04-01 22:30:10
回答 1查看 33关注 0票数 0

我有一个数据集,其中包含几个不同大小的图像。为了训练我的神经网络,我想通过在我所有的图像周围添加一个黑框来将这个图像的大小更改为一个共同的大小。我使用了以下代码:

代码语言:javascript
复制
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))

并得到了这个错误:

代码语言:javascript
复制
---------------------------------------------------------------------------
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

我不知道为什么会出现这个错误。我检查了变量条目的类型,它们都是整数,没有浮点数……我还感到惊讶的是,第一个减法似乎还可以,第二个减法却引发了一个问题……

有人能帮我吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-04-01 22:42:10

除法生成的是一个浮点数,但该方法需要整数。

代码语言:javascript
复制
new_size = (800, 800)
print(new_size)
new_im = Image.new("RGB", new_size)   ## luckily, this is already black!
x = int((new_size[0]-old_size[0])/2)
y = int((new_size[1]-old_size[1])/2))
new_im.paste(old_im, (x,y))
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/60973285

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档