- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
对于在 2D 图像中查找障碍物,您会推荐什么方法?
以下是我到目前为止提出的一些要点:
我怀疑我能否使用基于“障碍物数据库”搜索的物体识别,因为我不知道障碍物可能是什么样子。如果路径与对象本身差别不大,我认为颜色识别可能会出现问题。
可能,再添加一个摄像头并计算 3D 图像(就像 Kinect 所做的那样)会奏效,但运行起来不会像我要求的那样流畅。
为了说明问题;机器人可以在人行道的左侧或右侧骑行。下图中,左边是正确的选择:
最佳答案
如果您知道路径是什么样子,这主要是一个分类问题。获取一组不同距离、光照等路径的图像,并在每幅图像中手动标记地面。使用此标记数据训练分类器,将每个像素分类为“道路”或“非道路”。根据道路的纹理,这可以像对每个像素的 RGB(或 HSV)值进行分类或使用 OpenCv 的内置直方图反投影(即 cv::CalcBackProjectPatch()
)一样简单.
我建议从手动阈值开始,转向基于直方图的匹配,并且仅在更简单的技术失败时才使用成熟的机器学习分类器(例如朴素贝叶斯分类器或 SVM)。一旦对整幅图像进行分类,所有被识别为“非道路”的像素点都是障碍物。通过对道路而非障碍物进行分类,我们完全避免了构建“对象数据库”。
有点超出了问题的范围,最简单的解决方案是添加额外的传感器(“在问题上投入更多的硬件!”)并直接测量障碍物的三维位置。按优先顺序:
请注意,通过使用自定义硬件(片上立体声、STOC),专业立体视觉相机可以非常快。基于软件的立体声在现代计算机上也相当快(10-20 赫兹)。
关于opencv - 在二维图像中寻找路径障碍物,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6007822/
我有一个程序可以检查距离以及玩家是否与障碍物发生碰撞。我现在尝试计算障碍数组中的哪个障碍最接近移动的玩家,然后返回该障碍的索引。 这是我到目前为止所拥有的: public static int
我尝试在 Unity 中创建 RTS 游戏,但在寻路方面遇到问题。我使用 NavMesh 进行寻路,效果很好:单位避免静态对象。但单位不会互相回避。有一个名为 NavMesh Obstacle 的组件
import math import random import pygame from pygame.locals import * import sys def events(): for
新程序员在我的腰带下使用了三个月的 Python(只有几周的 pygame)...... 我正在设计一个 2-D、自上而下的游戏,并且一直在尝试设置障碍来打破 sprite LOS。我目前的尝试是让每
我有一个数据框,其中存储的不是预期的数值“Object”类型的数据看起来像 3 014.0,即“3\xa0014.0”,而不是 3014.0 - 空格(即“\xa0”) - 造成转换问题 问题:有什么
我是一名优秀的程序员,十分优秀!