直接进入正题:假设我有两个特定的像素a和b,以及其他一些随机像素的列表。现在,我想检查该列表中的所有像素是否在通过a和b的直线上(但该直线不限于具有a和b作为端点!)我查看了Bresenham线算法,但它似乎只能找到a和b之间的点?我也查看了线性方程,但我还是不知道如何将连续的线段适当地离散化成像素...(如果这很重要)我正在尝试在java中实现随机采样算法,该算法尝试找到包含最多像素的线。谢谢您的帮助 :)
你可以在同一条线上搜索不在图像边界内的点,而不是在a和b之间进行搜索。你可以简单地将向量(b-a)放置到a侧和b侧所需的次数来获取它们。然后使用Bresenham的线算法。
至于更具体的答案,请更好地定义问题。您是否将像素视为点、正方形还是圆形?在您的术语中,“像素在该行上”是什么意思?您的线宽度是多少?您是在寻找每厘米长度或矩形边界上像素数量最多的线?您要在哪些线中进行搜索?