ash*_*ley 2 python matplotlib scipy keras
scipy.ndimage.imread刚刚在 scipy 中被弃用,所以我直接将代码切换为使用 pyplot - 但结果不一样。我正在为 keras 内置的学习算法导入图像 - 我认为这将是一个 1 对 1 的更改 - 但事实并非如此 - 我训练得很好,切换后我的系统没有训练。有没有一个蟒蛇大师可以解释有什么区别?
Scipy 返回:
img_array : ndarray 不同的色带/通道存储在第三维中,例如灰度图像是 MxN,RGB 图像 MxNx3 和 RGBA 图像 MxNx4。 scipy 文档
Matplotlib 返回:
返回值是一个 numpy.array。对于灰度图像,返回数组为 MxN。对于 RGB 图像,返回值为 MxNx3。对于 RGBA 图像,返回值为 MxNx4。 matplotlib 文档
MWE:
from scipy import ndimage
import_image = (ndimage.imread("img.png").astype(float) -
255.0 / 2) / 255.0
print import_image[0]
import matplotlib.pyplot as plt
import_image = (plt.imread("img.png").astype(float) -
255.0 / 2) / 255.0
print import_image[0]
Run Code Online (Sandbox Code Playgroud)
这将是一个真正的 mcve:
import matplotlib.pyplot as plt
import numpy as np
import scipy.ndimage
im = np.random.rand(20,20)
plt.imsave("img.png",im)
### Scipy
i2 = scipy.ndimage.imread("img.png")
print i2.shape, i2.min(), i2.max(), i2.dtype
# (20L, 20L, 4L) 1 255 uint8
### Matplotlib
i3 = plt.imread("img.png").astype(float)
print i3.shape, i3.min(), i3.max(), i3.dtype
# (20L, 20L, 4L) 0.00392156885937 1.0 float64
Run Code Online (Sandbox Code Playgroud)
可以看出
scipy.ndimage.imread创建一个 numpyint类型的数组,范围从0..255whilepyplot.imread创建一个浮点类型的 numpy 数组,范围从0. .. 1..| 归档时间: |
|
| 查看次数: |
5173 次 |
| 最近记录: |