我有80个整数的数组
int[800] px;
从这个数组我创建一个80x100点(h:80,w:100)的图像
为了找到数组中的中心像素,我使用:
px[(w >> 1) * (h + 1)]
但现在我需要找到4x4(16个中心像素并取其平均值。你能帮我这么做吗?
答案 0 :(得分:1)
所以你有一个一维数组(p
),whitch包含一个你想知道的图像(im[x][y] = p[im.width*x+y]
)哪个是该图像的中间4x4并计算其中16的平均值像素。
80x100像素图像的中间位于(40,50); (我会使用3x3窗口而不是4x4)所以你需要像素(40 + i,50 + i),其中我在{-1,0,1}。现在,您可以使用变量来计算3x3 = 9像素值的平均值
有一个库,OpenCV可以做很多东西,可以与Java集成。