假设我有以下数据帧:
C1 C2 C3 C4
0 1 2 3 0
1 4 0 0 0
2 0 0 0 3
3 0 3 0 0
Run Code Online (Sandbox Code Playgroud)
然后我想添加另一列,使其显示从右边连续出现的零值列的数量.新专栏将是:
Cnew
0 1
1 3
2 0
3 2
Run Code Online (Sandbox Code Playgroud) 我得到了这个通过双线性插值来缩放图像的代码.我知道这有效但我无法弄清楚如果近似像素值是边缘(通过边缘,我的意思是它在最后一行或最后一列)像素输入图像然后我可以我gt坐标(x + 1,y + 1)的像素,这应该导致数组索引超出范围错误但没有出现这样的错误为什么?代码是:
public int[] resizeBilinearGray(int[] pixels, int w, int h, int w2, int h2) {
int[] temp = new int[w2*h2] ;
int A, B, C, D, x, y, index, gray ;
float x_ratio = ((float)(w-1))/w2 ;
float y_ratio = ((float)(h-1))/h2 ;
float x_diff, y_diff, ya, yb ;
int offset = 0 ;
for (int i=0;i<h2;i++) {
for (int j=0;j<w2;j++) {
x = (int)(x_ratio * j) ;
y = (int)(y_ratio * i) ;
x_diff = (x_ratio * j) …Run Code Online (Sandbox Code Playgroud)