画图函数

(1)直线cvLine函数

其结构

void cvLine(//画直线
CvArr* array,//画布图像
CvPoint pt1,//起始点
CvPoint pt2,//终点
CvScalar color,//颜色
int thickness = 1,//宽度
int connectivity = 8//反走样
);

实例代码

#include <cv.h>
#include <highgui.h>
#include <stdio.h> int main(int argc, char** argv)
{
IplImage *src1;
src1 = cvLoadImage("10.jpg"); cvLine(src1,cvPoint(20,20),cvPoint(250,250),CV_RGB(255,0,0),8); cvShowImage( "原图", src1);
cvWaitKey();
return 0;
}

输出结果

(2)矩形cvRectangle函数

其结构

void cvRectangle(//画矩形
CvArr* array,//画布图形
CvPoint pt1,//起始点
CvPoint pt2,//终点
CvScalar color,//颜色
int thickness = 1,//宽度
);

实例代码

#include <cv.h>
#include <highgui.h>
#include <stdio.h> int main(int argc, char** argv)
{
IplImage *src1;
src1 = cvLoadImage("10.jpg"); cvRectangle(src1,cvPoint(20,20),cvPoint(200,200),CV_RGB(0,255,0),8); cvShowImage( "原图", src1);
cvWaitKey();
return 0;
}

输出结果

(3)圆形cvCircle函数

其结构

void cvCircle(//画圆
CvArr* array,//画布图像
CvPoint cevter,//圆心
int radius,//半径
CvScalar color,//颜色
int thickness = 1,//宽度
int connectivity = 8//反走样
);

实例代码

#include <cv.h>
#include <highgui.h>
#include <stdio.h> int main(int argc, char** argv)
{
IplImage *src1;
src1 = cvLoadImage("10.jpg"); cvCircle(src1,cvPoint(150,150),100,CV_RGB(0,0,255),5); cvShowImage( "原图", src1);
cvWaitKey();
return 0;
}

输出结果

(4)椭圆cvEllipse函数

其结构

void cvEllipse(//画椭圆
CvArr* img,//画布图像
CvPoint center,//中心点
CvSize axes,//长短轴
double angle,//偏离主轴角度
double start_angle,//弧线開始位置
double end_angle,//弧线结束位置
CvScalar color,//颜色
int thickness = 1,//宽度
int line_type = 8//
);

实例代码

#include <cv.h>
#include <highgui.h>
#include <stdio.h> int main(int argc, char** argv)
{
IplImage *src1;
src1 = cvLoadImage("10.jpg"); cvEllipse(src1,cvPoint(150,150),cvSize(150,50),45,0,360,CV_RGB(255,0,0),3); cvShowImage( "原图", src1);
cvWaitKey();
return 0;
}

输出结果

(5)多边形函数

1.cvFillPoly函数

其结构

void cvFillPoly(//画多个实心多边形
CvArr* img,//画布图像
CvPoint** pts,//点序列
int* npt,//计数点数组
int contours,//显示几个多边形
CvScalar color,//颜色
int line_type = 8
);

2.cvFillConvexPoly函数

其结构

void cvFillConvexPoly(//画一个实心多边形
CvArr* img,//画布图像
CvPoint* pts,//点序列
int npt,//计数点数组
CvScalar color,//颜色
int line_type = 8
);

3.cvPolyLine函数

void cvFillPoly(//画多个空心多边形
CvArr* img,//画布图像
CvPoint** pts,//点序列
int* npt,//计数点数组
int contours,//显示几个多边形
int is_closed,//是否从上个多边形尾点開始
CvScalar color,//颜色
int thickness = 1,//宽度
int line_type = 8
);

实例代码

#include <cv.h>
#include <highgui.h>
#include <stdio.h> int main(int argc, char** argv)
{
IplImage *src1,*src2,*src3;
src1 = cvLoadImage("7.jpg");
src2 = cvLoadImage("8.jpg");
src3 = cvLoadImage("9.jpg"); int arr[3]= {4,4,4}; CvPoint ** pt =new CvPoint*[3]; pt[0] = new CvPoint[4];
pt[0][0] = cvPoint(10,10);
pt[0][1] = cvPoint(210,10);
pt[0][2] = cvPoint(210,210);
pt[0][3] = cvPoint(10,210);
pt[1] = new CvPoint[4];
pt[1][0] = cvPoint(10,310);
pt[1][1] = cvPoint(210,310);
pt[1][2] = cvPoint(210,510);
pt[1][3] = cvPoint(10,510);
pt[2] = new CvPoint[4];
pt[2][0] = cvPoint(310,10);
pt[2][1] = cvPoint(410,10);
pt[2][2] = cvPoint(410,210);
pt[2][3] = cvPoint(310,210); cvPolyLine(src1, pt, arr, 3, 1, CV_RGB(0,255,0),5); cvFillPoly(src2, pt,arr,3,CV_RGB(250,0,0)); cvFillConvexPoly(src3,pt[0],4,CV_RGB(0,0,255)); cvShowImage( "原图1", src1);
cvShowImage( "原图2", src2);
cvShowImage( "原图3", src3);
cvWaitKey();
return 0;
}

输出结果

(6)绘制文字cvPutText函数

其结构

void cvPutText(//绘制文字
CvArr* img,//画图图像
const char* text,//文字内容
CvPoint origin,//文字起始位置
const CvFont* font,//文字字体设置
CvScalar color//颜色
);

实例代码

#include <cv.h>
#include <highgui.h>
#include <stdio.h> int main(int argc, char** argv)
{
IplImage *src1,*src2,*src3;
src1 = cvLoadImage("10.jpg"); char* str = "I am a student!"; CvFont* cf = new CvFont(); cvInitFont(cf,CV_FONT_HERSHEY_SIMPLEX,1.0,0.5); cvPutText(src1,str,cvPoint(50,100),cf,CV_RGB(255,0,0)); cvShowImage( "原图1", src1);
cvWaitKey();
return 0;
}

输出结果

to be continued

《学习opencv》笔记——关于一些画图的函数的更多相关文章

  1. Opencv笔记(四)——绘图函数

    常用的绘图函数有: cv2.line()       cv2.circle()        cv2.rectangle()      cv2.ellipse()       cv2.putText( ...

  2. php学习零散笔记—字符串分割、fetch函数和单双引号。

    1 字符串分割——split()函数和preg_split()函数 split — 用正则表达式将字符串分割到数组中——貌似PHP5.3以上已不赞成使用 array split ( string $p ...

  3. 基于OpenCv的人脸检测、识别系统学习制作笔记之一

    基于OpenCv从视频文件到摄像头的人脸检测 在OpenCv中读取视频文件和读取摄像头的的视频流然后在放在一个窗口中显示结果其实是类似的一个实现过程. 先创建一个指向CvCapture结构的指针 Cv ...

  4. ES6学习笔记<二>arrow functions 箭头函数、template string、destructuring

    接着上一篇的说. arrow functions 箭头函数 => 更便捷的函数声明 document.getElementById("click_1").onclick = ...

  5. python3.4学习笔记(二十) python strip()函数 去空格\n\r\t函数的用法

    python3.4学习笔记(二十) python strip()函数 去空格\n\r\t函数的用法 在Python中字符串处理函数里有三个去空格(包括'\n', '\r', '\t', ' ')的函数 ...

  6. APUE学习笔记——10.9 信号发送函数kill、 raise、alarm、pause

    转载注明出处:Windeal学习笔记 kil和raise kill()用来向进程或进程组发送信号 raise()用来向自身进程发送信号. #include <signal.h> int k ...

  7. Flutter学习笔记(4)--Dart函数

    如需转载,请注明出处:Flutter学习笔记(4)--Dart函数 Dart是一个面向对象的语言,所以函数也是对象,函数属于Function对象,函数可以像参数一样传递给其他函数,这样便于做回调处理: ...

  8. Objective-C学习笔记 利用协议实现回调函数

    来源:http://mobile.51cto.com/iphone-278354.htm Objective-C学习笔记 利用协议实现回调函数是本文要介绍的内容,主要是实现一个显示文字为测试的视图,然 ...

  9. 《学习opencv》笔记——基本数据结构,CvMat,矩阵訪问

        老板让让做一个东东.输入端要用到opencv顺便就来学习一下.买了本书<学习opencv>翻来一看,opencv1.0,去官网上一看.opencv2.49,瞬间有种蛋碎的赶脚.看着 ...

随机推荐

  1. NIO专栏学习

    http://blog.csdn.net/column/details/12993.html

  2. PHP版本 D-Link 动态域名客户端

    <?php /* * D-Link 动态域名客户端.主域名www.dlinkddns.com 和 www.dlinkddns.com.cn * 首先获取外网IP,若IP没有变化,则结束运行:否则 ...

  3. JS截取字符串 charAt(),slice(),substring(),substr()

    1. charAt(i)输出指定下标的字母,长度为1,适用于把字符串切割成单个字符串. 2. slice() 和 substring() 都支持1-2个参数,第一个参数是开始位置,第二个参数是结束位置 ...

  4. 国密算法SM2证书制作

    国密算法sm2非对称算法椭圆曲线 原文:http://www.jonllen.cn/jonllen/work/162.aspx 前段时间将系统的RSA算法全部升级为SM2国密算法,密码机和UKey硬件 ...

  5. BZOJ 3038 上帝造题的七分钟2 树状数组+并查集

    题目大意:一个序列,有两种操作.1.将一段数中的每个数开根号.2.查询一段数的和. 思路:和3211是一个题,有兴趣的能够看看我的那篇博客. CODE: #include <cmath> ...

  6. WCF 设计和实现服务协定(01)

    作者:jiankunking 出处:http://blog.csdn.net/jiankunking WCF 术语: • 消息 – 消息是一个独立的数据单元,它可能由几个部分组成,包含消息正文和消息头 ...

  7. 在sublime text 3中安装中文支持 分类: C_OHTERS 2015-04-24 22:04 229人阅读 评论(0) 收藏

    1.安装package control 使用control+~打开终端,然后输入以下内容并确定: import  urllib.request,os;pf='Package Control.subli ...

  8. 【物理/数学】—— 概念的理解 moment、momentum

    moment:矩,momentum:[物] 动量:动力:冲力: 数学意义上的 moment(矩)概念其实源自于物理范畴.首先我们来介绍物理学意义上的矩(Momentum)的概念. 1. 物理学意义上的 ...

  9. 【27.91%】【codeforces 734E】Anton and Tree

    time limit per test3 seconds memory limit per test256 megabytes inputstandard input outputstandard o ...

  10. debian安装git管理本地代码

    debian安装git管理本地代码 安装git # aptitude install git-core # aptitude install git-doc git-svn git-email git ...