opencv图片上添加中文水印

本文介绍如何使用OpenCV中的Freetype库在图片上绘制中文文本,包括直接利用OpenCV内置Freetype方法及自定义Freetype库的方法,并提供了完整的代码示例。

一、自己opencv库有freetype

#include <opencv2/freetype.hpp>    //编译的opencv是否包含,包含就能使用此方法,方便快捷,不包含就要使用方法二了。

cv::Ptr<cv::freetype::FreeType2> ft2;

//字体初始化
void init_font()
{
    ft2 = cv::freetype::createFreeType2();
    ft2->loadFontData( "../font/msyh.ttc", 0);
}

//加入字体文件后
ft2->putText(frame,data[0].vehicle_plate_server[i].number,
    cv::Point(data[0].vehicle_plate_server[i].rect[0]+5, data[0].vehicle_plate_server[i].rect[3]+15),
    20,cv::Scalar(r,g,b),1,8,false);

二、需要自己装freetype库

需要包含一个头文件和一个源文件,当然也可以封装为一个hpp文件。

CvxText.h:

#ifndef OPENCV_CVX_TEXT_HPP_
#define OPENCV_CVX_TEXT_HPP_

// 支持OpenCV中文汉字输入

#include <ft2build.h>
#include FT_FREETYPE_H

#include <opencv2/opencv.hpp>

class CvxText {
public:
    /**
    * 装载字库文件
    */
    CvxText(const char* freeType);
    virtual ~CvxText();

    /**
    * 获取字体.目前有些参数尚不支持.
    *
    * \param font        字体类型, 目前不支持
    * \param size        字体大小/空白比例/间隔比例/旋转角度
    * \param underline   下画线
    * \param diaphaneity 透明度
    *
    * \sa setFont, restoreFont
    */
    void getFont(int* type, cv::Scalar* 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

small_planet

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值