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

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程资源 > 编程问答 >内容正文

编程问答

opencv 叠加文字_Hello world.

發(fā)布時(shí)間:2023/12/20 编程问答 29 豆豆
生活随笔 收集整理的這篇文章主要介紹了 opencv 叠加文字_Hello world. 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

視頻是一幀一幀的圖像組成的,在視頻上添加文字就是在沒一幀上添加圖像而已,這么看來這個(gè)問題就沒有那么難了。

代碼如下:#include?"highgui.h"

#include?"cv.h"

#include?"cxcore.h"

#include?"stdio.h"

#include?

#include?"cxtypes.h"

#include????

#include????

int?main(int?argc,?char*?argv[])

{

cvNamedWindow("avi");

CvCapture*?capture=cvCreateFileCapture("c:\\2.avi");

printf("hello?world\n");

IplImage?*?frame;

char?*a="hello?world";

CvFont?font;

double?fps=0;

double?t=0;

t?=?(double)cvGetTickCount();

while(1)

{

frame=cvQueryFrame(capture);

if?(!frame)

{

break;

}

t?=?((double)cvGetTickCount()?-?t)?/?cvGetTickFrequency();

fps=1.0/t;

printf("fps-->%7f\n",fps);

cvInitFont(&font,CV_FONT_HERSHEY_SCRIPT_COMPLEX,?1.0f,1.0f);

cvPutText(frame,?a,?cvPoint(100,100),&font,cvScalar(23,66,255));

frame->origin=1;

cvShowImage("avi",frame);

char?c=cvWaitKey(100);

if?(c==27)

{

break;

}

}

cvReleaseImage(&frame);

cvReleaseCapture(&capture);

cvDestroyWindow("avi");

return?0;

}

結(jié)果顯示如下:

其中的“hello world”就是要顯示的文字

黑框中的是計(jì)算出來的fps,也可以顯示在文字中

我可能計(jì)算有錯(cuò)誤,但是這個(gè)不是主要問題。

下面是在網(wǎng)上找到的一些資料:

opencv 中的 cvPutText() 函數(shù)是加上文字的意思:

cvPutText(CvArr* img, const char* text, CvPoint origin, constCvFont* font, CvScalar color);

函數(shù)中各個(gè)參數(shù)的含義如下所示:

img---圖片指針(需要說明的是,CvArr* 等價(jià)于void*,一般我們?cè)谶@里傳遞一個(gè)IplImage*);

text---顯然是需要打印到圖片上的字符串的內(nèi)容;

origin---字符串在圖片上打印的原點(diǎn)(即,字符串的左下角在圖片中的位置)

font---描述字體屬性的變量;

color---字體的顏色;

CvFont類型變量的初始化是通過函數(shù)cvInitFont來實(shí)現(xiàn)的;該函數(shù)的申明如下所示:

void cvInitFont(CvFont*font, int font_face, double h_scale, double v_scale, double shear=0, intthickness=1, int line_type=8);

該函數(shù)中各個(gè)變量的含義如下所示:

font---傳入及傳出的字體屬性類型指針;

font_face---表示字體的類型,其取值只能為以下數(shù)值之一:

1. CV_FONT_HERSHEY_SIMPLEX

2. CV_FONT_HERSHEY_PLAIN

3. CV_FONT_HERSHEY_DUPLEX

4. CV_FONT_HERSHEY_COMPLEX

5. CV_FONT_HERSHEY_TRIPLEX

6. CV_FONT_HERSHEY_COMPLEX_SMALL

7. CV_FONT_HERSHEY_SCRIPT_SIMPLEX

8. CV_FONT_HERSHEY_SCRIPT_COMPLEX

h_scale---只能為1或0.5,表示水平方向字體的縮放系數(shù);

v_scale---只能為1或0.5,表示垂直方向字體的縮放系數(shù);

shear---取值從0---1,表示字體的傾斜程度,0表示不傾斜,1表示傾斜45度;

thichness, line_type這兩個(gè)參數(shù)同OpenCV的其它繪圖函數(shù)中定義的一樣,表示線型的寬度和線條的類型;

總結(jié)

以上是生活随笔為你收集整理的opencv 叠加文字_Hello world.的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。