我想编写一个应用程序,从不同的传感器(GPS,Acc,Gyro,Compass)中读取尽可能多的传感器状态(每次).所以我必须调查使用NDK是否有优势.
这是我的问题:
a)从传感器读取传感器值时的瓶颈是什么?是senosr本身还是Java?我可以使用NDK来提高费率吗?(我认为GPS的瓶颈是传感器本身,但我已经读过,例如陀螺传感器非常快)我找到了这个线程,似乎瓶颈就是传感器.有人能证实吗?
b)轮询而不是使用EventListener是否会提高速率?什么是快速读取传感器值的最佳方法?
c)NDK的使用是否会对应用的功耗产生任何影响?我没有发现任何相关信息.
d)我是Android新手.使用NDK而不是普通的Java是否更有能力?根据这个示例代码,使用事件队列与传感器进行交互似乎很简单,但是编译代码并从应用程序中使用它有多大的代价?
提前致谢.
我有一个关于Mikolajczyk等人介绍的Harris-Laplacian-Detector的问题.使用Harris,您可以在每个特定的比例范围内搜索"角度"的最大值,然后使用拉普拉斯算子搜索"blobness"的最大值,这些比例比找到的Harris点的比例大一个,小一个.
为什么规模上的"斑点"最大化对角点有如此好的影响?我认为,搜索最大的"角度"(例如,找到最大的哈里斯超过尺度)来找到好的角点要好得多.
我正在尝试使用emguCV打开一个mpg文件.我使用以下代码:
if (instance == null)
{
lock (m_lock)
{
try
{
instance = new Capture(0); // capture from camera works fine if a camera is connected
}
catch (NullReferenceException)
{
String sFileName = @"C:\tmp\MarkerMovie.mpg";
try
{
if (File.Exists(sFileName))
{
instance = new Capture(sFileName); // here the exception is thrown
}
else
{
MessageBox.Show("No Camera and no Video-File found");
}
}
catch (NullReferenceException)
{
MessageBox.Show("Couldn't open Video: "+sFileName);
}
}
}
}
Run Code Online (Sandbox Code Playgroud)
如果连接网络摄像头一切正常,但当我拔下网络摄像头时,该行instance = new Capture(sFileName);会抛出NullReferenceException:
Message ="无法从C:\ tmp\MarkerMovie.mpg创建捕获" …