很显然,处理OpenCV下的文字信息显示,也只好通过其专用对象来实现了--图像。
在处理图像序列的过程中,为了方便地实现实时显示图像序列处理结果,我另外开辟一个图像不定式显示文字信息,得到处理结果。
主要用到的函数有Cxcore绘图函数中的文本处理函数:cvInitFont和cvPutText。
下面是实现的主要函数部分。
//定义用于显示文字的图像变量
IplImage ImaTEXT=NULL;
//定义一个图像的大小变量
CvSize size;
size.width=100;
size.height=100;
//生成一个指定大小的图像
ImaTEXT = cvCreateImage(size,IPL_DEPTH_8U,1);
//用来显示文字,初始化字体
CvFont font;
cvInitFont( &font, CV_FONT_VECTOR0,1, 1, 0, 1, 8);
//开辟一个窗口
cvNamedWindow("TEXT",CV_WINDOW_AUTOSIZE);
int m_width=100,m_heigth=100;
cvResizeWindow("TEXT",m_width,m_height);//上面一行与这行可以省略
//在图像中显示文本字符串
cvPutText(ImaTEXT, "HELLO!" , cvPoint(20, 20), &font, CV_RGB(255,255,255));
//显示图像到窗口
cvShowWindow("TEXT",ImaTEXT);
//等待按键
cvWaitKey(0);
//销毁窗口
cvDestroyWindow("TEXT");
//释放图像
cvReleaseWindow(&ImaTEXT);