Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/image-processing/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
我应该设置哪些摄像机参数来使用Android摄像机检测激光点_Android_Image Processing - Fatal编程技术网

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

我应该设置哪些摄像机参数来使用Android摄像机检测激光点,android,image-processing,Android,Image Processing,我正在制作Android应用程序来跟踪激光点 我只是填充具有RGB值的数组。然后寻找最亮的像素 我正在使用以下相机参数: parameters.setPreviewSize(320, 240); parameters.setPreviewFrameRate(10); parameters.setSceneMode(Camera.Parameters.SCENE_MODE_FIREWORKS); parameters.setFocusMode(Camera.Parameters.FOCUS

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

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

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

 parameters.setPreviewSize(320, 240);
 parameters.setPreviewFrameRate(10);
 parameters.setSceneMode(Camera.Parameters.SCENE_MODE_FIREWORKS);
 parameters.setFocusMode(Camera.Parameters.FOCUS_MODE_AUTO);
当激光点与摄像机的距离较小时,结果良好。但激光点离光源太远或太近会造成问题

有更好的解决办法吗


我应该使用OpenCV库吗?

为了获得最佳效果,请更改您的标准;与其寻找最亮的像素,不如尝试寻找“最红”的像素。假设激光点发射红光。 您可以通过以下方式获得像素的红色值:

Color.red(pixel);

pixel>24;
编辑


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

我以前也这么做过:但相机滤光片会让激光点变成白色(也许只是在我的方便面上)。所以我使用了焰火场景模式,所以它几乎看不到激光点,我以前什么也没做过:但由于相机的滤光片,激光点在取景器中显示为白色而不是红色。好吧,这就是我所能做的。我会说,识别形状,但明亮的东西最有可能在相机上有一个圆形图案。
pixel<<8;
pixel>>>24;