我有一个图像和两个点,
我想读取这两个点之间的像素,
并将它们重新采样到一个小的 1x40 数组中。
我正在使用 EMGU,它是 OpenCV 的 C# 包装器。
谢谢,
西南

我有一个图像和两个点,
我想读取这两个点之间的像素,
并将它们重新采样到一个小的 1x40 数组中。
我正在使用 EMGU,它是 OpenCV 的 C# 包装器。
谢谢,
西南

您正在寻找的是Bresenham's line algorithm。它将允许您获得像素阵列中最接近直线的点。Wikipedia 链接还包含帮助您入门的伪代码。
我首先尝试这样做:
GetRotationMatrix2D用 ( )计算旋转矩阵WarpAffine)Transform)GetRectSubPix)到处插值可能会影响结果,但无论如何你都必须插值。您可以考虑在旋转之前裁剪图像。
否则,您可以使用线迭代器来迭代两点之间的像素。请参阅文档InitLineIterator(抱歉,该链接指向 OpenCV 的 Python 版本,我从未听说过 EMGU)。我想在这种情况下,您会遍历未抗锯齿的线条的像素。但这应该快得多。
最后,您可以将图像转换为数组,计算线条通过哪些元素,并手动进行二次采样和插值。