opencv学习笔记8 将文字打印到图片上

news/2024/7/21 5:09:05 标签: 图像处理, opencv

用到的主要函数语句是:

cvInitFont()、cvPutText()

函数原型及相应参数解释如下:

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

img---图片指针(需要说明的是,CvArr* 等价于void*,一般我们在这里传递一个IplImage*);

text---需要打印到图片上的字符串的内容;

origin---字符串在图片上打印的原点(字符串的左下角在图片中的位置)

font---描述字体属性的变量;

color---字体的颜色;

CvFont 类型变量的初始化是通过函数cvInitFont来实现的;该函数的原型及参数说明如下所示:
CVAPI(void)  cvInitFont( CvFont* font, int font_face,
                         double hscale, double vscale,
                         double shear CV_DEFAULT(0),
                         int thickness CV_DEFAULT(1),
                         int line_type CV_DEFAULT(8));

font---传入及传出的字体属性类型指针;

font_face---表示字体的类型,其取值只能为以下数值之一:

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,表示水平方向字体的缩放系数;

v_scale---只能为1或0.5,表示垂直方向字体的缩放系数;

shear---取值从0---1,表示字体的倾斜程度,0表示不倾斜,1表示倾斜45度;

thichness, line_type这两个参数同OpenCV的其它绘图函数中定义的一样,表示线型的宽度和线条的类型;

程序示例如下:

#include<cv.h>
#include<highgui.h>
using namespace std;
void main()
{
    IplImage* image = cvLoadImage("C:\\Users\\lenovo\\Desktop\\11.png");
    cvNamedWindow("test", CV_WINDOW_AUTOSIZE);	
    CvFont font;
    cvInitFont(&font, CV_FONT_HERSHEY_COMPLEX, 1.0, 1.0, 0.0, 1, 8);
    cvPutText(image, "Hello Man!", cvPoint(200, 300), &font, CV_RGB(255, 0, 0));
    cvShowImage("test", image);
    cvWaitKey(0);
    cvReleaseImage(&image);
    cvDestroyAllWindows();
}
运行结果如下:





http://www.niftyadmin.cn/n/1691926.html

相关文章

卡尔曼滤波器的理解,C代码实现,和opencv里面KalmanFilter 的使用

现实可以使用的博客&#xff1a;Kalman滤波器的历史渊源 其中截取的可以用的&#xff1a; 背景&#xff1a; 卡尔曼滤波是一种高效率的递归滤波器(自回归滤波器), 它能够从一系列的不完全及包含噪声的测量中&#xff0c;估计动态系统的状态。卡尔曼滤波的一个典型实例是从一组…

python 类继承 父类初始化_python中子类调用父类的初始化方法

python和其他面向对象语言类似&#xff0c;每个类可以拥有一个或者多个父类&#xff0c;它们从父类那里继承了属性和方法。如果一个方法在子类的实例中被调用&#xff0c;或者一个属性在子类的实例中被访问&#xff0c;但是该方法或属性在子类中并不存在&#xff0c;那么就会自…

虚拟运行环境管理工具Vagrant详细使用教程

文章目录前言一、下载安装Vargant二、自定义vagrant相关安装路径2.1、自定义box安装存储位置2.2、自定义虚拟机安装目录三、配置详解四、命令大全整理五、实战5.1、安装一个centos7虚拟机5.1.1、提前准备镜像centos74.1.2、初始化centos74.1.3、启动与连接centos7&#xff08;v…

OpenCV学习笔记9 常用的OpenCV函数速查

常用的OpenCV函数速查 1、cvLoadImage&#xff1a;将图像文件加载至内存&#xff1b; 2、cvNamedWindow&#xff1a;在屏幕上创建一个窗口&#xff1b; 3、cvShowImage&#xff1a;在一个已创建好的窗口中显示图像&#xff1b; 4、cvWaitKey&#xff1a;使程序暂停&#xff0c;…

mybatis逆向工程_Mybatis之逆向工程

【53】一、什么是逆向工程Mybatis提供了一个逆向工程工具&#xff0c;通过逆向工程&#xff0c;可以帮助程序员根据单表来生成po类、mapper映射文件、mapper接口。二、下载逆向工程mybatis/generator​github.com三、打开eclipse选择Flie >> import >> General >…

AcWing 蓝桥杯AB组辅导课 06、双指针、BFS与图论

文章目录前言一、双指针知识点例题例题1&#xff1a;1238. 日志统计【中等&#xff0c;蓝桥杯】习题例题1&#xff1a;1240. 完全二叉树的权值【简单&#xff0c;第十届蓝桥杯】二、BFS知识点例题例题1&#xff1a;1101. 献给阿尔吉侬的花束【中等&#xff0c;信息学奥赛一本通…

设计模式(1)-模板模式(Template)

【更新】 2012-7-9&#xff0c;设计模式(5)-装饰模式(Decorator)&#xff0c;运用装饰模式的版本 2012-6-18&#xff0c;添加实例下载地址&#xff0c;文章末尾 2012-6-8&#xff0c;更新示例代码 【描述】模板设计模式将常用的方法进行封装&#xff0c;创建了一个实施一组方法…

python中foo是什么_Python中foo .__ x__和x(foo)的原因(即len和__len__...

您可以找到深刻的理由here和Guido的想法here.总结一下,这是因为它们可能不像您想象的那样紧密相关.只是谈论帖子的len与__len__,但您可以在第一个链接中找到其他示例.让我们从专注于__len__开始&#xff1a;class Test1:passclass Test2:def __bool__(self):return Falseclass …