我正在研究增强现实游戏,它需要识别和跟踪快速移动的物体.我尝试过以下图像处理库,
1. Opencv
2. BoofCv
3. FastCv
我已经尝试过TLD算法来跟踪对象,跟踪成功但是性能确实需要提高.如果对象移动得更快,则结果需要时间,因为算法需要处理时间.我也尝试过循环,类似于boofcv的算法.
查看这些演示:
这两个演示中的对象跟踪似乎很好,但计算需要时间.
我可以使用以下方案更快地完成此操作
提取要跟踪的对象的r,g,b矩阵
拍摄相机帧并将其转换为ar,g,b矩阵,并在相机框架中搜索跟踪的对象矩阵.
有没有更好的方法来做到这一点?
android opencv image-processing object-recognition augmented-reality
在android中有一些刷新处理选项,如Timer,TimerTask,ScheduledExecutorService,AlarmManager和Handler.这是最好的方法.
有人检查过上述方法的资源利用率吗?我在这里列出了上述方法的实现.
使用Handler重复执行任务
final Handler handler = new Handler();
handler.postDelayed(new Runnable() {
public void run() {
new MyScheduledTask.execute(param);
}
}, TimeInterval);
Run Code Online (Sandbox Code Playgroud)
使用Timer重复执行任务
timer = new Timer();
timer.scheduleAtFixedRate(new TimerTask() {
synchronized public void run() {
new MyScheduledTask.execute(param);
}
}}, 10000, 10000);
Run Code Online (Sandbox Code Playgroud)
使用ScheduledExecutorService重复激活任务
ScheduledExecutorService scheduler =
Executors.newSingleThreadScheduledExecutor();
scheduler.scheduleAtFixedRate
(new Runnable() {
public void run() {
new MyScheduledTask.execute(param);
}
}, 0, 10, TimeInterval);
Run Code Online (Sandbox Code Playgroud)
使用Timer和TimerTask重复执行任务
Timer timer = new Timer();
timer.schedule(new UpdateTimeTask(),1, TimeInterval);
class UpdateTimeTask extends TimerTask {
public void run()
{ …Run Code Online (Sandbox Code Playgroud) 我正在使用Android相机开发机器人项目.如果在路径中找到任何物体,机器人可以移动并清洁表面.我被困在检测路径中的物体时,我没有使用任何传感器来找到相机和物体之间的距离.我只使用相机来找到路径中的对象.我不想在路径中找到对象的形状,类型和颜色.路径中的小物体可以被忽略,例如沙子,草等.路径中不应有任何大物体(在下图的标记部分)

在使用相机绘画检测对象时,阴影被检测为对象.从上图中,音乐符号被检测为对象.是否有任何付费或开源库可以使用相机找到真实物体检测(如果它可以在Java或c ++中使用,将会更有帮助).我已经尝试过opencv,javacv,jhlabs,jjil,aviary sdk,jiu,imagemagic等等.但是没有我能在哪里找到满足我需求的精确解决方案.如果有人使用此图像处理请建议我使用Android相机在真实对象检测中可以做什么.如果不可能,请给我解释为什么不可能.
我尝试过的可能性:
人脸识别算法(特征检测): - 基于匹配模式的人脸检测算法.这种情况不适用.即,这里物体可以是任何形状或任何形状.没有匹配的模式.
对象识别:对象识别也与图案匹配相同.我不想识别这个物体,只想找出它们是图像中标记部分的物体,它是一个真实的物体(即不是任何地板画,阴影等......).
边缘检测:我尝试过不同的边缘检测算法,但这对我来说也不是准确的解决方案.即,绘画和阴影有边缘,所以我们不能假设我们发现的边是真实的对象.
我在我的一个项目中使用Twowayview.这是androids Recyclerview库的扩展.(具有垂直水平交错,可跨越网格和列表视图等功能).有时滚动时网格视图中的项目会消失(即,每次滚动时自动添加填充,并且所有项目滚动到我们滚动的一侧).这是一种没有经历过的随机行为.
观看此视频,Recyclerview滚动问题
请在下面的链接中找到有关此问题的其他参考,
当我们使用新项添加或删除适配器时,通常会发生此自动填充问题.
请找到我在下面使用的具有属性的小部件
<org.lucasr.twowayview.TwoWayView
android:id="@+id/spannable_grid"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:animationCache="false"
android:scrollbarAlwaysDrawHorizontalTrack="false"
android:scrollbarSize="0px"
android:scrollbars="none"
android:scrollingCache="false"
app:layoutManager="SpannableGridLayoutManager"
app:numColumn="6"
app:numRow="6" />
Run Code Online (Sandbox Code Playgroud)
我找到了一些解决方案,比如从Twowayview,CliptoPadding等移除填充物.但这些都不适合我.我使用的是Recyclerview版本21.0.0.有人遇到过这个问题吗?如何解决这个问题?