opencv:图像上编辑文字

本堂小课介绍图像的编辑,在图像编辑文字,强大的opencv不仅除了各种绘制图形的函数之外,还有在图像上绘制文字的函数–putText函数。如下为putText函数:

putText( Mat& img, const string& text, Point orgin, int fontFace,double fontScale,  Scalar color, int thickness=1, int lineType=8, );

参数:

  • Mat& img:绘制文字的图像

  • const string& text:绘制的文字

  • Point org:第一个字符左下角坐标

  • int fontFace:字体类型,可供选择的有 :

  • FONT_HERSHEY_SIMPLEX:正常大小无衬线字体 

    FONT_HERSHEY_PLAIN:小号无衬线字体 

    FONT_HERSHEY_DUPLEX:正常大小无衬线字体,比FONT_HERSHEY_SIMPLEX更复杂 

    FONT_HERSHEY_COMPLEX:正常大小有衬线字体 

    FONT_HERSHEY_TRIPLEX:正常大小有衬线字体,比FONT_HERSHEY_COMPLEX更复杂 

    FONT_HERSHEY_COMPLEX_SMALL:FONT_HERSHEY_COMPLEX的小译本 

    FONT_HERSHEY_SCRIPT_SIMPLEX:手写风格字体 

    FONT_HERSHEY_SCRIPT_COMPLEX:手写风格字体,比FONT_HERSHEY_SCRIPT_SIMPLEX更复杂 

  • double fontScale:字体大小

  • Scalar color:字体颜色

  • int thickness,字体粗细

  • int lineType:线型,默认值8

实现代码:

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

int main()
{
  Mat image = imread("dog.jpg");
  namedWindow("原图");
  imshow("原图", image);
  //添加文字
  putText(image,"I'm a super dog", Point(50, 60), FONT_HERSHEY_SIMPLEX, 1, Scalar(0, 0, 255), 4, 8);//在图片上写文字

  namedWindow("效果图");
  imshow("效果图", image);
  waitKey();
  return 0;
}

结果:

                         

                                                                                                原图

                          

                                                                                                    结果图

在opencv库中putText函数不能在图片上编辑中文字体,强制添加会出现乱码,下一节会介绍如何在图像上添加中文字体。

                                                                     "动动手指扫码或微信搜一搜关注哟"

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值