opencv-putText繪字


 

    cv::Mat src(500, 500, CV_8UC3, cv::Scalar(0,0,0));
    std::string text = "Hello World!";
    cv::putText(src,text, cv::Point(10,50), cv::FONT_HERSHEY_PLAIN,4, cv::Scalar(255,0,0),3); /*
    參數1:待繪制的圖像
    參數2:待繪制的文字
    參數3:文本框的左下角
    參數4:字體    支持的字體見下圖
    參數5:尺寸因子,值越大文字越大
    參數6:線條的顏色
    參數7:線條寬度
    參數8:線型(4鄰域或8鄰域,默認8鄰域)
    參數9:bool bottomLeftOrigin = false // true='origin at lower left'
    */
    
    cv::imshow("src", src);

 

 

    cv::Mat src(500, 500, CV_8UC3, cv::Scalar(255,0,0));
    std::string text = "Hello World!";

    int baseline;
    cv::Size text_size = cv::getTextSize(text, 3, 2, 2, &baseline);//獲取文本框的長寬
    /*
    參數1:待繪制的文字
    參數2: int fontFace: 文字字體類型
    參數3:double fontScale: 字體縮放系數
    參數4:int thickness: 字體筆畫線寬
    參數5:CV_OUT int* baseLine: 文字最底部y坐標
    */
    
    cv::putText(src, text, cv::Point(10, 50), 3, 2, cv::Scalar(0, 255, 255), 2, 8, 0);

    std::cerr << text_size << std::endl;
    std::cerr << baseline << std::endl;

    cv::imshow("src", src);

 

 

 

 

 

繪制中文

opencv默認不能使用中文,要使用中文請下載插件:https://download.csdn.net/download/lm68140318/39694201

解壓后把兩個文件復制到工程中

 

添加頭文件和源文件

 

導入頭文件:#include "puttextzh.h"

    cv::Mat src(500, 500, CV_8UC3, cv::Scalar(0,0,0));
    putTextZH(src, "歡迎你使用中文", cv::Point(10,50), cv::Scalar(255,0,0),30, "黑體", true,true);
    /*
    參數1:待繪制的圖像
    參數2:待繪制的文字
    參數3:文本框的左下角
    參數4:字體顏色
    參數5:字體大小,值越大文字越大
    參數6:字體(默認使用Arial字體,也可以設置成操作系統中已經安裝的字體,如“宋體”、“微軟雅黑”、“Times New Roman”等;默認顯示非斜體、非下划線)
    參數7:是否斜體
    參數8:是否有下划線
    
    */
    
    cv::imshow("src", src);

 

 

 

 

 

 

 

 

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM