在图像上执行反射中心垫

Ale*_*gur 3 python numpy image-processing linear-algebra scikit-image

这个来自活跃的 Kaggle 比赛的论坛帖子提到了作者称之为“反射中心垫”的东西。基本上,这是一种变换,它采用图像的边缘并将它们向外反射,从而在图像的边缘产生镜像,作者稍微展示了这一点,但显着提高了模型性能。

作为参考,这是他们发布的展示这种技术的图片:

我的问题是双重的:

  1. 此转换是否有规范名称?“反光中心垫”听起来很非官方。
  2. 在代码中表达这种转换的简单方法是什么,也许使用numpy和类似的东西skimage

Ton*_*has 6

此转换是否有规范名称?“反光中心垫”听起来很非官方。

“对称填充”是一种常用的表达方式来指代这种变换。

在代码中表达这种转换的简单方法是什么

我认为实现这一目标的最简单方法是将 Numpypadmode='symmetric'.

演示

import numpy as np
from skimage import data
import matplotlib.pyplot as plt

img = data.astronaut()
padded = np.pad(img, pad_width=((100, 200), (100, 500), (0, 0)), mode='symmetric')

fig, (ax1, ax2) = plt.subplots(2, 1)
ax1.imshow(img)
ax2.imshow(padded)
fig.show()
Run Code Online (Sandbox Code Playgroud)

填充结果

  • 在“反射”和“对称”之间谨慎选择 (2认同)