我必须在图像中找到十字架。我所知道的是每个红色方块的确切位置。现在我必须决定,如果广场内有十字架,或者没有。最好和最快的方法是什么?我正在使用OpenCv / c ++!好吧,我可以尝试使用OpenCv的SVM吗?但它快吗?你还有其他想法吗?
答案 0 :(得分:5)
简单的解决方案:如果你知道所有盒子的先验位置,只需计算盒子的平均亮度。带有标记的盒子会比空盒子暗得多。
答案 1 :(得分:5)
如果你真的有每个数字框中心的坐标,你可能会稍微调整图像采集,这应该是一个可行的任务。 我在这里看到的问题是,你的图像中有一个亮度梯度,你可以通过拍摄更好的图像或使用大的高斯滤波器和图像减法来消除它。 否则我不确定你会找到一个好的亮度阈值来分开与非交叉。
您可以使用的另一种方法是计算像素的方差。这为您提供了一个很好的本地度量,无论暗笔是否扩展您的像素分布。快速测试看起来很有希望
请注意,我没有盒子的真实位置。我只是将你的图像划分为相同大小的区域,这对于盒子/子盒子结构来说并不是真正正确的。因此,由于左上角的红色三角形和一些重叠的十字架,因此存在一些误报。
所以这就是我所做的:
答案 2 :(得分:0)
如果不选择检测红色墨水,请保持简单:累积红色方块内的所有像素和“红色”的阈值,即红色值之和除以总色值的商。
答案 3 :(得分:0)
找到矩形,然后进行简单的像素比较。