如何用Python数组切片实现RGB三通道图像的水平翻转(替代np.flip等方法)
如何用Python数组切片实现RGB三通道图像的水平翻转(替代np.flip等方法)
嗨,我懂你想要摆脱依赖np.flip或者np.fliplr,用更基础的数组切片来实现通用的水平翻转,而且你的图像还是三通道的RGB图对吧?
这里给你一行完全用切片实现的代码:
flipped_image = image[:, ::-1, :]
咱们来拆解一下这个切片的逻辑:
- 第一个
::保留图像的所有行(也就是高度维度的所有数据) ::-1:把第二个维度(宽度方向)的元素完全反转,这就是水平翻转的核心- 最后一个
::保留所有通道(RGB三个通道都不动)
这个方法非常通用,不管你的图像高度、宽度是多少,只要是多维数组格式的图像(比如常见的(H, W, C)格式),都能用这个方式完成水平翻转,完全不需要调用专门的翻转函数,直接靠numpy的数组切片特性就能实现~
备注:内容来源于stack exchange,提问作者Amirparsa Rouhi
相关产品推荐
相关产品推荐

