zoukankan      html  css  js  c++  java
  • 图像处理---《在图片上打印文字 putText()》

    图像处理---《在图片上打印文字 putText()》

    目的:想在处理之后的图像上打印输出结果。

    方法: (1)只在图像上打印 数字、字母的话:
                      1.Mat格式的图像,可以使用opencv自带的putText()。
                      2.IPLImage格式的图像,可以使用自带的cvInitFont和cvPutText函数。
           (2)在图像上打印 汉字的话,可以使用FreeType库。
                      FreeType库是一个完全免费(开源)的、高质量的且可移植的字体引擎,它提供统一的接口来访问多种字体格式文件。

    /*
    作者:WP @20190626
    功能:opencv在图片中写入文字
    说明:
        (1)只在图像上打印 数字、字母的话:
                1.Mat格式的图像,可以使用opencv自带的putText。
                2.IPLImage格式的图像,可以使用自带的cvInitFont和cvPutText函数。
        (2)在图像上打印 汉字的话,可以使用FreeType库。
                FreeType库是一个完全免费(开源)的、高质量的且可移植的字体引擎,它提供统一的接口来访问多种字体格式文件。
    */
    #include <iostream>
    #include "opencv2/opencv.hpp"
    
    using namespace std;
    using namespace cv;
    
    //--------------------------------Mat格式的图像,可以使用opencv自带的putText()函数---------------------------------------
    int main( )
    {
        //Mat image = Mat::zeros(Size(640, 480), CV_8UC3);            // 创建空白图用于绘制文字
        //image.setTo(Scalar(100, 0, 0));        //设置蓝色背景
        Mat image = imread("D:\005_test_4\testImg\road_6.png",1);    // 最后显示,1---原图,0---灰度图
    
        //设置绘制文本的相关参数
        string text = "JILIN UNIVERSITY";
        int font_face = FONT_HERSHEY_COMPLEX; 
        double font_scale = 2;
        int thickness = 2;
        int baseline;
        //获取文本框的长宽
        Size text_size = getTextSize(text, font_face, font_scale, thickness, &baseline);
    
        //将文本框居中绘制
        Point origin; 
        origin.x = image.cols / 2 - text_size.width / 2;
        origin.y = image.rows / 2 + text_size.height / 2;
        putText(image, text, origin, font_face, font_scale, Scalar(0, 255, 255), thickness, 8, 0);
        putText(image, "This image is clear.", Point(50, 100), FONT_HERSHEY_SIMPLEX, 1, Scalar(0,0,255), 4, 8);
    
        //显示绘制结果
        imshow("image", image);
        waitKey(0);
        return 0;
    }

  • 相关阅读:
    线程池小结(一)
    [转]ViewPager学习笔记(一)——懒加载
    [转]Private Libraries、Referenced Libraries、Dependency Libraries的区别
    关于context你必须知道的一切
    【转】在mac上配置安卓SDK
    【转】HTTP中的长连接和短连接分析
    中间件解析FDMEMTABLE.delta生成SQL的方法
    delphi 中配置文件的使用(*.ini)和TIniFile 用法
    Delphi 字符串加密与解密函数
    Delphi编写的等长加密与解密
  • 原文地址:https://www.cnblogs.com/carle-09/p/11093110.html
Copyright © 2011-2022 走看看