我应该设置哪些相机参数来使用Android相机检测激光点

时间:2012-09-02 14:31:55

标签: android image-processing

我正在制作Android应用来跟踪激光点。

我只是填充具有RGB值的数组。然后寻找最亮的像素。

我正在使用以下相机参数:

 parameters.setPreviewSize(320, 240);
 parameters.setPreviewFrameRate(10);
 parameters.setSceneMode(Camera.Parameters.SCENE_MODE_FIREWORKS);
 parameters.setFocusMode(Camera.Parameters.FOCUS_MODE_AUTO);

当激光点距离相机较小时,结果很好。但是激光点太远或靠近光源会产生问题。

有更好的解决方案。?

我应该使用OpenCV库吗?

1 个答案:

答案 0 :(得分:1)

为获得最佳效果,请更改标准;而不是寻找最亮的像素,尝试找到最红的'像素。假设激光点发出红光。 您可以通过;

获取像素的红色值
Color.red(pixel);

pixel<<8;
pixel>>>24;

修改

白色和明亮的灯光仍然会有很大的红色值。为了增加过滤,可以为绿色和蓝色设置阈值。当这些像素值超过阈值时,您可以跳过它们,因为它们可能是纯白色,而不是纯红色。