作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有一个形状为 (224,224) 的黑白图像,但我想要有 (224,224,3),所以我需要扩展暗淡,但不能使用空值,所以 np.expand_dims
或 np.atleast_3d
无法帮助我。我怎样才能正确地做到这一点?谢谢。
我使用什么:
from PIL import Image
img = Image.open('data/'+link)
rsize = img.resize((224,224))
rsizeArr = np.asarray(rsize)
最佳答案
当我们使用numpy.dstack()
时,我们不必手动扩展维度,它会处理这项工作并将其沿着我们想要的第三轴堆叠。
In [4]: grayscale = np.random.random_sample((224,224))
# make it RGB by stacking the grayscale image along depth dimension 3 times
In [5]: rgb = np.dstack([grayscale]*3)
In [6]: rgb.shape
Out[6]: (224, 224, 3)
<小时/>
对于您的具体情况,应该是:
rsize_rgb = np.dstack([rsize]*3)
<小时/>
无论出于何种原因,如果您仍然想将灰度图像的尺寸扩大 1,然后将其设为 RGB 图像,那么您可以使用 numpy.concatenate()
如:
In [9]: rgb = np.concatenate([grayscale[..., np.newaxis]]*3, axis=2)
In [10]: rgb.shape
Out[10]: (224, 224, 3)
对于您的具体情况,它将是:
rsize_rgb = np.concatenate([rsize[..., np.newaxis]]*3, axis=2)
关于python - 如何扩展和填充黑白图像的第三个暗角,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55880159/
我是一名优秀的程序员,十分优秀!