gpt4 book ai didi

c++ - 如何将坐标分布对齐到完美对齐?

转载 作者:塔克拉玛干 更新时间:2023-11-03 05:25:22 24 4
gpt4 key购买 nike

举个例子,我有一组方向相同的坐标:

垂直投影坐标:8,15; 9,27; 10,40; 7,55; 5,68.

水平投影坐标:8,27; 20,28; 36,26; 51,25; 64,27;

如何对齐垂直投影和水平投影中的坐标,以便所有垂直投影坐标都具有单个 X 值,例如:8,15; 8,27; 8,40; 8,55; 8,68。并且对于水平投影具有相同的 Y 值,例如:8,28; 20,28; 36,28; 51,28; 64,28?

Braille我已经检测到图像中每个点的坐标,但坐标并不完全对齐(请参见上面的坐标示例)。

这就是为什么,我真的需要任何建议,我怎样才能将那些检测到的点对齐到每条线的完美对齐(以颜色突出显示)。

我听说过主成分分析,但如果我使用 PCA,我不知道从哪里开始,因为几乎没有对齐坐标的好例子。

如果还有什么好的推荐,真心希望有人愿意分享。

如有任何帮助,我们将不胜感激。谢谢

最佳答案

嗯,由于您使用 OpenCV,您可能会对这种基于像素级矩阵操作的方法感兴趣:

1) 创建一个二进制图片(黑/白),因此您初始化一个黑色图片(或只是一个所需大小的零矩阵)。

2) 由于您已经对点(以及矩阵索引)进行了排序,因此可以进行 for 循环。因此,对于每个点,您都将二值图像中像素的颜色更改为白色。如果您必须照顾内存,您可以使用稀疏矩阵。

3) 要获得 x 或 y 中的排序列表,您只需遍历二值图像的相应行/列并返回每个白色像素的列/行。

结果你得到了一个漂亮的二值图像和你的排序点。

编辑:由于您想在一个组件中进行一些平均,这可以通过 bool 表达式处理,以便您将所需范围内的一个坐标设置为特定值。第二种解决方案是,在提取点之前旋转输入图像。在 OpenCV 中已经实现了旋转,您只需找出角度即可。

干杯TL

关于c++ - 如何将坐标分布对齐到完美对齐?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16785280/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com