我需要在(屏幕外)图像上绘制一些线条。我想使用 boost::gil 因为该库已经集成到我的项目中。
我想在 2dim 数组中从起点到终点画一条线
谁能给我一个快速的例子,如何使用 gil 画一条线?
谢谢你。
GIL 本身非常关心各种格式的图像和像素的存储以及它们之间的转换……但仅此而已。 user1929959 的答案是使用 GIL 扩展,该扩展有助于 GIL 与 OpenCV 的互操作性,然后使用 OpenCV 的线条图(但 OpenCV 不附带增强功能,因此您也需要将其添加到您的项目中)。
对于高质量的抗锯齿线条绘制, AGG和Cairo可能也值得考虑(尽管您需要弄清楚如何最好地使 GIL 图像适应它们自己的图像缓冲区类型)。但是,如果您只想要基本的一个像素宽的线条,请查阅任何基本的计算机图形文本以获取一些Bresenham 的线条算法伪代码,这些伪代码可以使用像素设置轻松实现。
首先看一下boost::gil 教程。您可以在绘图测试中找到一个示例,从中可以轻松提取方法来绘制线条。