在颜色校准图表opencv python中检测丢失的正方形
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了在颜色校准图表opencv python中检测丢失的正方形相关的知识,希望对你有一定的参考价值。
我正在研究一种从macbeth颜色图表中提取颜色的方法。到目前为止,通过使用阈值处理然后提取方形轮廓,我获得了适度的成功。可悲的是,彼此太接近的颜色要么混合在一起要么没有被检测到。
它的当前形式的代码:
<script src="https://pastebin.com/embed_js/mNi0TcDE"></script>
The image before any processing
在阈值处理后,您可以看到由于颜色差异太小而存在线条不完整的区域。我试图使用扩张来缓解这些问题,并且它确实在某种程度上起作用。但还不足以检测所有方块。
这导致检测到以下轮廓
我尝试过使用:
- 霍夫线,遗憾的是没有检测到线条。
- 轮廓的质心,但我无法找到一种方法来使用质心绘制线条并检测缺失轮廓的中心
- 角落检测,发现角落。但是我没有找到一种真正的方法来使用它们。
谁能指出我正确的方向?
在此先感谢,电子邮件
答案
嗯,如果你的目标是颜色校准,你真的不需要完整地检测方块。每个物理方块图像中心附近的10x10样本将为您提供100个颜色样本,这对于任何合理的校准过程都是足够的。
有很多方法可以解决这个问题。如果您可以保证图表将覆盖图像,您甚至可以只进行k-means聚类,因为您事先知道所寻找的聚类的确切数量。
如果你坚持使用几何,我会在比例+角度空间进行模板匹配 - 可以合理地假设图表主要面向,并且只是略微旋转,所以你只需要估算比例和一个小的旋转轴与图表正交。
以上是关于在颜色校准图表opencv python中检测丢失的正方形的主要内容,如果未能解决你的问题,请参考以下文章