ZBLOG

putText

putText是OpenCV库中的一个函数,用于在图像上绘制文本。

函数原型:

void putText(Mat& img, const string& text, Point org, int fontFace, double fontScale,
             Scalar color, int thickness = 1, int lineType = LINE_8, bool bottomLeftOrigin = false)

参数说明:

  • img:要绘制文本的图像。
  • text:要绘制的文本内容。
  • org:文本左下角的坐标点。
  • fontFace:字体类型。可选值有如下几种:
    • FONT_HERSHEY_SIMPLEX: 正常大小无衬线字体(平滑边缘)
    • FONT_HERSHEY_PLAIN: 小号无衬线字体
    • FONT_HERSHEY_DUPLEX: 正常大小无衬线字体(双倍宽度)
    • FONT_HERSHEY_COMPLEX: 正常大小有衬线字体
    • FONT_HERSHEY_TRIPLEX: 大号有衬线字体
    • 其他…
  • fontScale:字体缩放因子,控制文本大小。
  • color:文本颜色,使用Scalar对象表示颜色值。
  • thickness:线条粗细,默认为1。
  • lineType:线条类型,默认为LINE_8。可选值有如下几种:
    • LINE_4: 四邻域连接
    • LINE_8: 八邻域连接
    • LINE_AA: 抗锯齿连接
  • bottomLeftOrigin:是否以左下角作为起始点,默认为false。如果设置为true,将以左下角作为起始点。

示例代码:

#include <opencv2/opencv.hpp>
using namespace cv;

int main() {
    // 创建一个空白图像
    Mat image(400, 600, CV_8UC3, Scalar(255, 255, 255));

    // 绘制文本
    string text = "Hello OpenCV!";
    Point org(100, 200);
    int fontFace = FONT_HERSHEY_SIMPLEX;
    double fontScale = 1.5;
    Scalar color(0, 0, 255); // BGR颜色,红色
    int thickness = 2;
    int lineType = LINE_AA;
    
    putText(image, text, org, fontFace, fontScale, color, thickness);

    // 显示图像
    imshow("Image", image);
    waitKey(0);

    return 0;
}

上述示例创建了一个大小为400x600的空白图像,并使用putText函数在其中绘制了文本”Hello OpenCV!“,位置在(100, 200)处。文本使用了FONT_HERSHEY_SIMPLEX字体,缩放因子为1.5,颜色为红色(BGR格式),线条粗细为2。最后通过imshow显示图像并等待按键事件。

请根据你的需求修改相应参数,并确保你已经正确配置了OpenCV库环境。


内容由零声教学AI助手提供,问题来源于学员提问

本站部分文章来源于网络,版权归原作者所有,如有侵权请联系站长删除。
转载请注明出处:https://golang.0voice.com/?id=14993

分享:
扫描分享到社交APP
上一篇
下一篇
发表列表
游客 游客
此处应有掌声~
评论列表

还没有评论,快来说点什么吧~

联系我们

在线咨询: 点击这里给我发消息

微信号:3007537140

上班时间: 10:30-22:30

关注我们
x

注册

已经有帐号?