我是一个经验不足的编码器,在运行我尝试实现的算法时遇到了IndexOutOfBounds错误。该算法采用一种2D像素阵列(一幅图像),并针对图像中的每个像素,根据相关像素与其相邻像素之间的亮度差分配“重要性值”,并将其添加到第二个数组,其大小与原始图像相同。用伪代码:
vals = [][]
for each pixel in column
for each pixel in row
xGradient = difference between brightness of pixel neighbors in x direction
yGradient = difference between brightness of pixel neighbors in y direction
vals[col][row] = xGradient + yGradient
我的问题来自检查相邻像素的必要性。每当我从原始图像的[0] [0]开始时,算法都会尝试检查[0] [-1],并且会出现IndexOutOfBounds错误。在检查边缘像素(顶部,底部,左侧和右侧)时,有什么方法可以避免这种情况,还是我必须找到某种方式对检查这些边缘像素的方法进行硬编码?