putText

在图像中显示文本字符串。函数原型如下:



void PutText( CvArr* img, const char* text, CvPoint org, const CvFont* font, CvScalar color );


输入图像。 text 要显示的字符串。 org 第一个字符左下角的坐标。 font 字体结构体。 color 文本的字体颜色。

函数cvPutText将具有指定字体的和指定颜色的文本加载到图像中。加载到图像中的文本被感兴趣的矩形框(ROI rectangle)剪切。不属于指定字体库的字符用矩形字符替代显示。 

***********************************分割线**************************************************

InitFont

初始化字体结构体。



void cvInitFont( CvFont* font, int font_face, double hscale,
                 double vscale, double shear=0,
                 int thickness=1, int line_type=8 );


被初始化的字体结构体。 font_face 字体名称标识符。只是Hershey 字体集(  http://sources.isc.org/utils/misc/hershey-font.txt )的一个子集得到支持。

CV_FONT_HERSHEY_SIMPLEX - 正常大小无衬线字体。 CV_FONT_HERSHEY_PLAIN - 小号无衬线字体。 CV_FONT_HERSHEY_DUPLEX - 正常大小无衬线字体。( 比CV_FONT_HERSHEY_SIMPLEX更复杂) CV_FONT_HERSHEY_COMPLEX - 正常大小有衬线字体。 CV_FONT_HERSHEY_TRIPLEX - 正常大小有衬线字体 ( 比CV_FONT_HERSHEY_COMPLEX更复杂) CV_FONT_HERSHEY_COMPLEX_SMALL - CV_FONT_HERSHEY_COMPLEX 的小译本。 CV_FONT_HERSHEY_SCRIPT_SIMPLEX - 手写风格字体。 CV_FONT_HERSHEY_SCRIPT_COMPLEX - 比CV_FONT_HERSHEY_SCRIPT_SIMPLEX更复杂。 这个参数能够由一个值和可选择的CV_FONT_ITALIC字体标记合成,就是斜体字。 hscale 字体宽度。如果等于1.0f,字符的宽度是最初的字体宽度。如果等于0.5f,字符的宽度是最初的字体宽度的一半。 vscale 字体高度。如果等于1.0f,字符的高度是最初的字体高度。如果等于0.5f,字符的高度是最初的字体高度的一半。 shear 字体的斜度。当值为0时 ,字符不倾斜;当值为1.0f时,字体倾斜≈45度,等等。厚度让字母着重显示。函数cvLine用于绘制字母。 thickness 字体笔划的粗细程度。 line_type 字体笔划的类型,参见cvLine。

函数cvInitFont初始化字体结构体,字体结构体可以被传递到文字显示函数中。


*********************************** 分割线

**************************************************

GetTextSize

获得字符串的宽度和高度。



void cvGetTextSize( const char* text_string, const CvFont* font, CvSize* text_size, int* baseline );


字体结构体 text_string 输入字符串。 text_size 合成字符串的字符的大小。文本的高度不包括基线以下的部分。 baseline 相对于文字最底部点的基线的Y坐标。

函数cvGetTextSize是用于在指定字体时计算字符串的绑定区域(binding rectangle)。