gpt4 book ai didi

algorithm - 像素矩阵到坐标

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

我必须将给定的像素矩阵(系数在 0 到 255 的范围内,因为矩阵对应于黑白图像)转换为两个列表。它们都可以由列表组成,一个包含点的横坐标,另一个包含纵坐标。

正如您在附带的图片中注意到的那样,第一种情况对应于一条曲线,而其他两种情况都涉及多条曲线,相互交叉。该算法应该能够区分两条或三条曲线(在最后两个示例中),因此在两个主列表中,给定的子列表对应于给定的曲线。

Types of curves

我完全不知道从什么开始......

最后一件事:我正在寻找关于如何对该算法进行编程的想法,所以这就是为什么我没有添加任何特定的编程语言(如果代码可以帮助任何解释,请随时说任何语言)。

提前致谢>^.^<

最佳答案

查看Hough 变换。这是一个简单的投票算法,允许在图像中找到简单的几何形状。一个并发症可能是你的线条不是严格直的。但它会在它找到的直线上给你方程式。由于您的案例有点不标准,我会尝试理解算法本身并编写我自己的实现。

在我的第一个实现中(在我拍摄的长焦深度图像中,以一个正方形为中心的圆圈),我从一个在网上找到的非常简单的 Python 示例开始,为了我的目的重写了它,然后为了速度而转向 C#,因为我需要比这个简单案例所需的更多参数(更高维度的搜索空间)。

在您的情况下,我将从直线的简单假设开始。然后 Hough 变换将为您的三种情况分别给出 1、2 和 3 最大值。

Hough 变换的思想得到了很好的描述 on wikipedia .

这里只是想法的要点:

For a straight line think of giving each black pixel the right to vote for 180 possible lines that could go through it (one for each angle in single degree steps), then plotting the vote as histogram over a 2d space, where one dimension is the angle of the line, another is the distance from origin (using the Hesse normal form of the line for practical reasons rather than the common y= m x +b) and the z-dimension is the number of votes. The actual line formed by the black pixels will get more votes than any other possible line, so you are simply looking for the Maximum vote location in the transformation space (say in Python/numpy it would be argmax).

如果有两条线,您会发现两个明显的最大值,较高的最大值具有较长或较粗的线(更多选票)。然后你可以开始在你的图像中玩灰度,给像素非整数投票。您还可以根据问题的内容调整角度的分辨率。

关于algorithm - 像素矩阵到坐标,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37352033/

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