首页 > 学院 > 开发设计 > 正文

《学习opencv》课后题:4.1.c如何显示文字标签?

2019-11-06 08:57:00
字体:
来源:转载
供稿:网友

使用cvputtext函数可以实现文本的添加功能:代码如下

#PRagma region (exercise 4.1)//---------------------------4.1-----------------------//题目说明:1-读取图片,2-处理得到灰度图,3-进行canny检测,4-显示在不同图片中。5-显示文本//-----------------------------------------------------//头文件包含#include<opencv/cv.h>#include<highgui.h>void cvText(iplImage* img, const char* text, int x, int y){	CvFont font;	cvInitFont(&font, CV_FONT_HERSHEY_SIMPLEX | CV_FONT_ITALIC,1.0, 1.0, 0, 2);	CvScalar textColor = cvScalar(0, 255, 255);	CvPoint textPos = cvPoint(x, y);	cvPutText(img, text, textPos, &font, textColor);}//主函数int main(){	//读取图片	CvCapture* capture = cvCreateFileCapture("shipin.avi");	//进行判断是否成功读入图片	if (!capture) return -1;	IplImage* frame = cvQueryFrame(capture);	//创建一个空图片用来装灰度图片	IplImage* dstImage_gray = cvCreateImage(cvGetSize(frame), IPL_DEPTH_8U, 1);	//创建孔图片装canny检测的图片	IplImage* dstImage_canny = cvCreateImage(cvGetSize(frame), IPL_DEPTH_8U, 1);	//创建空图片放三张子图片	IplImage* result = cvCreateImage(CvSize(frame->width * 3, frame->height), IPL_DEPTH_8U, 3);		while (1)	{		IplImage* frame = cvQueryFrame(capture);		//转化灰度图		cvConvertImage(frame, dstImage_gray, 0);		//进行canny检测		cvCanny(dstImage_gray, dstImage_canny, 30, 100, 3);		//创建第一个子ROI区域		cvSetImageROI(result, CvRect(0, 0, frame->width, frame->height));		result->nChannels = 3;		cvCopy(frame, result);		cvText(result, "color", 100,100);			cvResetImageROI(result);						//创建第二个子ROI区域		cvSetImageROI(result, CvRect(frame->width, 0, frame->width, frame->height));		result->nChannels = 1;		cvCopy(dstImage_gray, result);		cvText(result, "gray", 100, 100);		cvResetImageROI(result);		//创建第三个子ROI区域		cvSetImageROI(result, CvRect(frame->width * 2, 0, frame->width, frame->height));		result->nChannels = 1;		cvCopy(dstImage_canny, result);		cvText(result, "canny", 100, 100);		cvResetImageROI(result);		//显示图片		cvNamedWindow("result");		cvShowImage("result", result);		if (cvWaitKey(20) == 27)		{			break;		}	}	//等待输入	if (cvWaitKey(20) == 27)	{		return -1;	}	return 0;}#pragma endregion

效果如下图:请忽略效果。你们可以根据自己的需求进行相应的更改。


发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表