OpenCV:在圖像上顯示文本信息
1. 初始化字體結(jié)構(gòu)-cvInitFont 在OpenCV的1.x版本中,要在圖像上顯示文本字符串,首先需要初始化字體結(jié)構(gòu)cvInitFont。該函數(shù)的參數(shù)包括字體名稱標(biāo)識(shí)符、字體寬度、字體高度、字
1. 初始化字體結(jié)構(gòu)-cvInitFont
在OpenCV的1.x版本中,要在圖像上顯示文本字符串,首先需要初始化字體結(jié)構(gòu)cvInitFont。該函數(shù)的參數(shù)包括字體名稱標(biāo)識(shí)符、字體寬度、字體高度、字體斜度、字體筆劃的粗細(xì)程度和字體筆劃的類型。
2. 使用cvPutText在圖像上顯示文本字符串
在OpenCV的1.x版本中,可以使用cvPutText函數(shù)來在圖像上顯示文本字符串。該函數(shù)的參數(shù)包括待繪制圖像、顯示的字符串、第一個(gè)字母左下角的坐標(biāo)、指向字體結(jié)構(gòu)的指針和文本的顏色。
3. 結(jié)合cvInitFont和cvPutText在圖像上顯示文本的方法
在OpenCV的2.x版本中,可以采用getTextSize和putText函數(shù)相結(jié)合的方法來在圖像上繪制文字。getTextSize函數(shù)用于獲取待繪制文本框的大小,以方便放置文本框;putText函數(shù)則用于在圖像中繪制文本信息。
4. getTextSize和putText結(jié)合的應(yīng)用
以下是一個(gè)應(yīng)用示例,演示了如何使用getTextSize和putText函數(shù)在圖像中繪制文本信息:
#include#include #include using namespace std; using namespace cv; int main() { Mat image cv::Mat::zeros(cv::Size(640, 480), CV_8UC3); (cv::Scalar(100, 0, 0)); string text "Hello World!"; int font_face cv::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 / 2 - text_size.width / 2; origin.y / 2 text_size.height / 2; putText(image, text, origin, font_face, font_scale, cv::Scalar(0, 255, 255), thickness, 8, 0); imshow("image", image); waitKey(0); return 0; }