Leo*_*eda 4 algorithm image-processing
我一直试图想出一个兴趣点检测算法,这就是我提出的:
您一次经过X和Y轴3n像素,创建3n x 3n的正方形.
对于3n x 3n方块中间的nxn方块(我们称之为方形Z),R,G和B值被平均并舍入到预设值以限制颜色数量,这就是颜色广场将被视为.
对于8个周围的nxn正方形也是如此.
之后,将方形Z的颜色与周围的正方形进行比较,如果它与8个周围的正方形中的x匹配,其中x <= 3或x => 5则那么这是一个兴趣点(检测到一个角).
依此类推,直到覆盖所有图像.
n越大,扫描图像越快,检测的准确性越低,反之亦然.
据推测,这可以检测到"字面角落",即您可以在图像上实际看到的角落.
你觉得这个算法怎么样?它有效吗?它可以在手持设备上的实时视频流(比如来自相机)上使用吗?
ire*_*ses 10
我很遗憾地说我不认为这可能是非常好的.你的算法看起来有点像Moravec算法的简单版本,它本身就是最简单的角点检测算法之一.您测试的硬编码限制有效地使您的边缘测试成为阶梯函数,而不像求和方差等方法.对于某些值,这几乎肯定会使您的检测功能出现不连续性(角落在应有的时候不匹配).
你也有与Moravec相同的问题,即如果边缘与被考虑的邻居的方向成一定角度,则不会被检测到.
开发算法很有趣,如果这不是一个关键业务项目,那么一定要进行修补和试验(不要被我的评论推迟!).但事实是,对于几乎任何实际问题,几乎可以肯定的是,你想要解决的任务的更好算法已经存在.真正的挑战是确定如何以一种能够使用由专家设计的现有的,易于理解的方法解决问题的方式来最好地模拟您的问题.
特别是,对边缘情况和最坏情况运行时的可靠识别和分析是一项棘手的工作; 除非你是一名专业的算法运动员,否则你很可能会发现困难.但我当然鼓励你通过尝试自己发现这一点.nlucaroni提到了一些很好的问题,可以作为分析的起点.