labview公式节点计算。

我写了一个图片灰度重心坐标提取的程序,但是运行后发现,当计算的像素为252*200时,计算结果和我用MATLAB相同算法结果一致,但是,当我把图片的像素提高到1920*1200时,结果就出现问题,现在可以确定的是灰度数组是没有问题的,我怀疑是算法上哪里有问题。

labview前后面板

int sum = 0;  // 所有数的和
    int sum1 = 0;  // [(第一列的和*1) + (第二列的和*2) + ... + (第n列的和*n)]
int i;int j;
	for(int (i = 0); i < n; i++) {
	  for (int( j = 0); j < m; j++){
		sum1 = arr[j][i] * (i + 1) + sum1;
		sum = arr[j][i] + sum;
	  }
	}
	int a0=sum;
	int a1=sum1;
	int sum2 = 0; // [(第一行的和*1) + (第二行的和*2) + ... + (第n行的和*n)]
	for(int( i = 0); i < m; i++) {
	  for(int (j = 0); j < n; j++) {
		sum2 = arr[i][j] * (i + 1) + sum2;
	  }
	}
	int a2=sum2;
	float x = sum1 / sum;
	float y = sum2 / sum;

原来像素为252200时计算结果没问题,把图片的像素提高到19201200后出错,把sum、i、j变量改为float类型试试