我喜欢计算民用飞机驾驶舱内摄像机的位置和方向。
我确实使用LED作为固定点。我的计划是保存与LED相关的X,Y,Z位置。
如何检测和识别我的图像上的LED?我应该使用哪个特征描述符和特征点提取器?
如何在功能检测之前修改图像?
我喜欢保持高效率。
答案 0 :(得分:1)
----请停止投票这个问题---- 现在在找到问题的解决方案之后,我意识到这个问题可能过于笼统。 无论如何支持其他人googeling我将描述我的答案。
通过OpenCVs功能的组合,我创建了一个掩模,其中包含LED可以是白色的区域。图像的其余部分是黑色的。这些函数例如是Core.range,Imgproc.dilate和Imgproc.erode。还有Imgproc.findcontours我过滤掉了太大或太小的轮廓。用于组合掩码的还有Core.bitwise_and或Core.bitwise_not。 根据HSV颜色空间中的图像计算掩模作为输入。
让这些面具具有潜在的LED区域,我会计算颜色直方图,其中强度标准化的rgb颜色。 (顺化对我来说不够好)。这些直方图使用一组带注释的输入图像进行训练和标准化,并代表我的描述符。
我使用直方图交集将训练的描述符与应用程序中的计算onces匹配。
所以我接受了距离测量。使用这些测量的阈值,实际LED的几何位置的测量和知识我将贴片转换为图形系统,这有助于我找到最长的潜在LED链。