Python: 在函数内部复制RGB图像

Python: copying RGB images inside the function

我是 Python 的新手。我使用 skimage.transform 工具编写了 (Python 3.6.1) 一个简单的图像旋转函数:

def rotate_20rand(X):
    X_aug = np.zeros_like(X)
    for i,img in enumerate(X):
        X_aug[i] = transform.rotate(img, angle=np.random.uniform(-20, 20))
    return X_aug

我将我的 np.ndarray 数据集 (34799, 32, 32, 3) 图像传递给它。如果图像是灰度图像,则函数的输出是正确的。但是,通过 RGB 图像后 X_aug 包含全零。


我试过以下方法:

None 这些有帮助,我不知道我做错了什么。

你的代码对我有用。它在 X_aug 中为任何类型的输入数组生成非零值。

试试这个:

def rotate_20rand(X):
    return np.stack((transform.rotate(img, angle=np.random.uniform(-20, 20)) for img in X))