日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

OpenCV文字绘制函数putText()的使用

發布時間:2024/9/21 编程问答 37 豆豆
生活随笔 收集整理的這篇文章主要介紹了 OpenCV文字绘制函数putText()的使用 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

OPenCV版本:4.4

IDE:VS2017

功能描述

簡述:在一個圖像里繪制文字。

函數 cv::putText在圖像里渲染指定的字符串. 符號不能被渲染,用問號來代替。參見 getTextSize 是一個文字渲染的代碼示例.

函數原型

void cv::putText(InputOutputArray 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 字符類型,參見 HersheyFonts。

  • 參數 fontScale 字體比例因子,被字體指定的基礎大小所乘。

  • 參數 color 文字顏色

  • 參數 thickness 劃線的厚度

  • 參數 lineType 劃線類型,參見 LineTypes

  • 參數 bottomLeftOrigin 當是true的時候,圖像數據源在左下角,否則是在左上角

源碼示例

#include <iostream> #include <opencv2/opencv.hpp>int main() {cv::Mat image = cv::imread("D:\\OpenCVtest\\images\\juice.png");std::string text = "I am juice";int font_face = cv::FONT_HERSHEY_COMPLEX;double font_scale = 2;int thickness = 4;int baseline;//文本框的長寬cv::Size text_size = cv::getTextSize(text, font_face, font_scale, thickness, &baseline);//文本框居中繪制cv::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, cv::Scalar(255, 0, 0), thickness, 8, 0);imshow("文本繪制", image);cv::waitKey(0);return 0; }

運行結果:

附注

字體類型:

enum HersheyFonts {FONT_HERSHEY_SIMPLEX = 0, //!< 常規大小 沒有襯線的字體FONT_HERSHEY_PLAIN = 1, //!< 小號 沒有襯線的字體FONT_HERSHEY_DUPLEX = 2, //!< 常規大小 復雜的沒有襯線的字體FONT_HERSHEY_COMPLEX = 3, //!< 常規大小 襯線字體FONT_HERSHEY_TRIPLEX = 4, //!< 常規大小 復雜的襯線字體FONT_HERSHEY_COMPLEX_SMALL = 5, //!< 小號 襯線字體FONT_HERSHEY_SCRIPT_SIMPLEX = 6, //!< 手寫風格的字體FONT_HERSHEY_SCRIPT_COMPLEX = 7, //!< 復雜的手寫風格的字體FONT_ITALIC = 16 //!< 斜體字體 };

西方國家字母體系分為兩類:襯線字體(serif)和無襯線體(sans serif)。

襯線字體:字的筆畫開始、結束的地方有額外的裝飾,而且筆畫的粗細會有所不同。

無襯線體:是無襯線字體,沒有這些額外的裝飾,而且筆畫的粗細差不多。

中文字體中的宋體就是一種最標準的襯線字體,襯線的特征非常明顯。字形結構也和手寫的楷書一致。因此宋體一直被做為最適合的正文字體。

線型:

enum LineTypes {FILLED = -1,LINE_4 = 4, //!< 4-connected lineLINE_8 = 8, //!< 8-connected lineLINE_AA = 16 //!< antialiased line };

值越大字體越圓滑

總結

以上是生活随笔為你收集整理的OpenCV文字绘制函数putText()的使用的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。