请求帮助。 我可以使用openCV
获取相机预览中特定点的像素信息 @Override
public void onPreviewFrame(Mat image) {
if (image == null || image.empty() == true) return;
int w = image.cols(); //640 columns
int h = image.rows(); //480 rows
double [] p = image.get(h/2, w/2); //dividing them getting 1 point = 1 pixel
if (p == null || p.length < 3) return;
overlay_view.setRGB((int)p[2], (int)p[1], (int)p[0]);
}
但是我如何从15x15像素区域获得数字,从h / 2和w / 2点开始?
答案 0 :(得分:0)
这样的事情:
@Override
public void onPreviewFrame(Mat image) {
if (image == null || image.empty() == true) return;
int w = image.cols(); //640 columns
int h = image.rows(); //480 rows
double[][][] array15x15 = new double[15][15][3];
for (int row = 0; row < 15; row++) {
for (int col = 0; col < 15; col++) {
double[] p = image.get(w/2 + row, h/2 + col);
if (p == null || p.length < 3) return;
else {
array15x15[row][col] = p;
}
}
}
}
答案 1 :(得分:0)
使用OpenCV的ROI功能:
Mat roi = new Mat(image, new Rect(x, y, width, height));
Mat roi将指向与原始图像相同的数据,因此在更改数据时请考虑这一点。