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);