如何在bmp图像上叠加文本或标记

时间:2010-05-20 13:33:10

标签: c image drawing

我正在处理一个图像处理项目,我正在尝试在.bmp图像上找到要素。我正在用C语言编写完整的源代码。

我正在开发的算法将搜索某些功能,如果算法找到了所需的功能,那么它将创建一个点(x co-ord,y co-ord),现在我想要使用绿色或红色DOT在图像上叠加此点。

截至目前,它只是一个点,后来我希望围绕一组特征绘制一个方框 - 例如一张脸。

我不知道怎么做,我在Linux(Ubuntu 9.04)环境下开发这个,有人可以建议我应该做什么吗?

维克拉姆

2 个答案:

答案 0 :(得分:2)

同时查看ImageMagick。我以前在Perl中使用它,但它也有一个C接口。

ImageMagick®是一个用于创建,编辑和组合位图图像的软件套件。它可以以各种格式(超过100种)读取,转换和写入图像,包括DPX,EXR,GIF,JPEG,JPEG-2000,PDF,PhotoCD,PNG,Postscript,SVG和TIFF。使用ImageMagick翻译,翻转,镜像,旋转,缩放,剪切和变换图像,调整图像颜色,应用各种特殊效果,或绘制文本,线条,多边形,椭圆和Bézier曲线。

答案 1 :(得分:1)

我建议您使用Cairo作为绘图。您可以做的是将图像加载到Image Surface,使用直接像素访问在图像表面上进行处理,然后使用Cairo context绘制您需要的内容。该库还支持使用libpango的文本,Ubuntu喜欢使用Cairo,因为GTK使用它。如果你搜索一下,开罗还有很多教程。主站点有一些already