减少线条的粗细
Reduce the thickness of a line
参考我之前的问题
我想知道如何将曲线的厚度减小到单个像素。
例如,假设每个像素都是一个绿色方块,如果我有这部分曲线:
Before - thickness of many pixels
我希望能够像这样转换它:
After - 1 pixel
(甚至变体,只要拉伸是连续的就保持这样)
我的输入将是黑色背景上的白色曲线的 BufferedImage。
您正在寻找的算法系列称为骨架化或同伦细化。
同伦细化是一种条件侵蚀,如果移除像素会破坏地形,则不会移除像素。
骨架化可以使用同伦细化来实现,但也可以通过其他方式实现。骨架化的结果是一条穿过对象中心的一像素粗线。
这些不是要实现的微不足道的算法。我不打算解释它是如何工作的。您需要开始使用具有图像处理功能的库。不要重新发明轮子。
参考我之前的问题
我想知道如何将曲线的厚度减小到单个像素。
例如,假设每个像素都是一个绿色方块,如果我有这部分曲线:
Before - thickness of many pixels
我希望能够像这样转换它:
After - 1 pixel
(甚至变体,只要拉伸是连续的就保持这样)
我的输入将是黑色背景上的白色曲线的 BufferedImage。
您正在寻找的算法系列称为骨架化或同伦细化。
同伦细化是一种条件侵蚀,如果移除像素会破坏地形,则不会移除像素。
骨架化可以使用同伦细化来实现,但也可以通过其他方式实现。骨架化的结果是一条穿过对象中心的一像素粗线。
这些不是要实现的微不足道的算法。我不打算解释它是如何工作的。您需要开始使用具有图像处理功能的库。不要重新发明轮子。