opencv学习笔记7 绘制多边形
来源:互联网 发布:sql sp4安装无反应 编辑:程序博客网 时间:2024/06/06 10:00
函数原型:
CVAPI(void) cvPolyLine( CvArr* img, CvPoint** pts, const int* npts, int contours, int is_closed, CvScalar color, int thickness CV_DEFAULT(1), int line_type CV_DEFAULT(8), int shift CV_DEFAULT(0) );
第一个参数:CvArr* img ::源图像,可画多边形于这个图片上;
第二个参数:CvPoint** pts:折线的顶点指针数组,也就是相应各个顶点的度度座标;
第三个参数:const int* npts:折线的顶点个数数组,也就是我现在要画两个多边形,一个是4个顶点,另一个多边形是5个顶点,那么这个数组为:int npts[2] = {4,5};
第四个参数:int contours:折线的线段数量,如第三个参数说明所示,我想画两个多边形,那这个参数就是2,如果想画4个多边形,这个参数就是4,以此类推;
第五个参数:int is_closed:标示所示多边形是否是封闭的,这个很容易理解;
第六个参数:CvScalar color:所画多边形的线段颜色或是填充颜色;
第七个参数:int line_type CV_DEFAULT:线段的粗细;
代码示例如下:
#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);CvPoint cvrve1[] = { 10, 10, 10, 100, 100, 100, 100, 10 };CvPoint cvrve2[] = { 30, 30, 30, 130, 130, 130, 130, 30 ,150,20};CvPoint* cvrver[2] = { cvrve1, cvrve2 }; //折线的顶点指针数组,也就是相应各个顶点的度度座标;int npts[2] = { 4, 5 }; //拆线的顶点个数数组int contous = 2; //折线的线段数量 int iscurveclosed = 1; //标示所示多边形是否是封闭的int thickline = 1;cvPolyLine(image, cvrver, npts, contous, iscurveclosed, CV_RGB(255, 0, 0), thickline);//cvFillPoly(image, cvrver, npts, contous, CV_RGB(0,255,255),thickline);cvShowImage("test", image);cvWaitKey(0);cvReleaseImage(&image);cvDestroyAllWindows();}
函数运行结果如下:
CVAPI(void) cvFillPoly( CvArr* img, CvPoint** pts, const int* npts, int contours, CvScalar color, int line_type CV_DEFAULT(8), int shift CV_DEFAULT(0) );
参数与上现一个函数一样,与上一个函数的区别是,这一个函数是填充多边形的,代码示例如下:
#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);CvPoint cvrve2[] = { 30, 30, 30, 130, 130, 130, 130, 30 ,150,20};CvPoint* cvrver[1] = { cvrve2 };int npts[1] = { 5 };int contous = 1;int iscurveclosed = 1;int thickline = 1;cvFillPoly(image, cvrver, npts, contous, CV_RGB(0,255,255),thickline);cvShowImage("test", image);cvWaitKey(0);cvReleaseImage(&image);cvDestroyAllWindows();}结果如下:
0 0
- opencv学习笔记7 绘制多边形
- OpenGL学习笔记(7)多边形绘制
- OpenCV学习——多边形绘制
- OpenCV | 绘制多边形
- opencv绘制多边形
- OpenGL学习笔记()多边形绘制-cullface
- OpenCv学习笔记(七)---OpenCv中的基本绘图函数,圆,椭圆,线段,矩形,多边形的绘制(1)
- OpenCv学习笔记(七)---OpenCv中的基本绘图函数,圆,椭圆,线段,矩形,多边形的绘制(2)--提高篇
- python opencv绘制多边形和多边形填充
- OpenGL学习笔记 (2) —— 绘制多边形
- opengl学习笔记(四)——绘制简单多边形
- openGL学习笔记三 : 绘制点、线以及多边形
- OpenGL 学习笔记3_4(绘制多边形相关)
- 图像绘制功能【OpenCV学习笔记5】
- OpenCV学习笔记5 - 图像绘制功能
- OpenCV学习笔记(六):绘制几何图形
- Opencv用鼠标绘制填充多边形
- 【opencv练习37 - 多边形阴影绘制】
- IOS KeyChain基础
- tomcat下配置https环境
- Android 基于google Zxing实现二维码、条形码扫描,仿微信二维码扫描效果
- Google CPU Profiler使用指南及小工具
- Perl-正则<2>
- opencv学习笔记7 绘制多边形
- struts1和2的区别
- objective-c快速入门教程(四)
- 普元SOA相关概念
- 《淘宝技术这十年》读书笔记
- 淘宝推荐系统的学习
- 第17周项目5-玩日期时间(部分)
- C陷阱与缺陷 笔记
- JS控制下的双层Tab切换