《学习opencv》笔记——关于一些绘图的函数
2014-06-08 01:04
357 查看
绘图函数
(1)直线cvLine函数
其结构
[cpp] view plaincopyprint?
void cvLine(//画直线
CvArr* array,//画布图像
CvPoint pt1,//起始点
CvPoint pt2,//终点
CvScalar color,//颜色
int thickness = 1,//宽度
int connectivity = 8//反走样
);
实例代码
[cpp] view plaincopyprint?
#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函数
其结构
[cpp] view plaincopyprint?
void cvRectangle(//画矩形
CvArr* array,//画布图形
CvPoint pt1,//起始点
CvPoint pt2,//终点
CvScalar color,//颜色
int thickness = 1,//宽度
);
实例代码
[cpp] view plaincopyprint?
#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函数
其结构
[cpp] view plaincopyprint?
void cvCircle(//画圆
CvArr* array,//画布图像
CvPoint cevter,//圆心
int radius,//半径
CvScalar color,//颜色
int thickness = 1,//宽度
int connectivity = 8//反走样
);
实例代码
[cpp] view plaincopyprint?
#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函数
其结构
[cpp] view plaincopyprint?
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//
);
实例代码
[cpp] view plaincopyprint?
#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函数
其结构
[cpp] view plaincopyprint?
void cvFillPoly(//画多个实心多边形
CvArr* img,//画布图像
CvPoint** pts,//点序列
int* npt,//计数点数组
int contours,//显示几个多边形
CvScalar color,//颜色
int line_type = 8
);
2.cvFillConvexPoly函数
其结构
[cpp] view plaincopyprint?
void cvFillConvexPoly(//画一个实心多边形
CvArr* img,//画布图像
CvPoint* pts,//点序列
int npt,//计数点数组
CvScalar color,//颜色
int line_type = 8
);
3.cvPolyLine函数
[cpp] view plaincopyprint?
void cvFillPoly(//画多个空心多边形
CvArr* img,//画布图像
CvPoint** pts,//点序列
int* npt,//计数点数组
int contours,//显示几个多边形
int is_closed,//是否从上个多边形尾点开始
CvScalar color,//颜色
int thickness = 1,//宽度
int line_type = 8
);
实例代码
[cpp] view plaincopyprint?
#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函数
其结构
[cpp] view plaincopyprint?
void cvPutText(//绘制文字
CvArr* img,//绘图图像
const char* text,//文字内容
CvPoint origin,//文字起始位置
const CvFont* font,//文字字体设置
CvScalar color//颜色
);
实例代码
[cpp] view plaincopyprint?
#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;
}
输出结果
(1)直线cvLine函数
其结构
[cpp] view plaincopyprint?
void cvLine(//画直线
CvArr* array,//画布图像
CvPoint pt1,//起始点
CvPoint pt2,//终点
CvScalar color,//颜色
int thickness = 1,//宽度
int connectivity = 8//反走样
);
void cvLine(//画直线 CvArr* array,//画布图像 CvPoint pt1,//起始点 CvPoint pt2,//终点 CvScalar color,//颜色 int thickness = 1,//宽度 int connectivity = 8//反走样 );
实例代码
[cpp] view plaincopyprint?
#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;
}
#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函数
其结构
[cpp] view plaincopyprint?
void cvRectangle(//画矩形
CvArr* array,//画布图形
CvPoint pt1,//起始点
CvPoint pt2,//终点
CvScalar color,//颜色
int thickness = 1,//宽度
);
void cvRectangle(//画矩形 CvArr* array,//画布图形 CvPoint pt1,//起始点 CvPoint pt2,//终点 CvScalar color,//颜色 int thickness = 1,//宽度 );
实例代码
[cpp] view plaincopyprint?
#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;
}
#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函数
其结构
[cpp] view plaincopyprint?
void cvCircle(//画圆
CvArr* array,//画布图像
CvPoint cevter,//圆心
int radius,//半径
CvScalar color,//颜色
int thickness = 1,//宽度
int connectivity = 8//反走样
);
void cvCircle(//画圆 CvArr* array,//画布图像 CvPoint cevter,//圆心 int radius,//半径 CvScalar color,//颜色 int thickness = 1,//宽度 int connectivity = 8//反走样 );
实例代码
[cpp] view plaincopyprint?
#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;
}
#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函数
其结构
[cpp] view plaincopyprint?
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//
);
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// );
实例代码
[cpp] view plaincopyprint?
#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;
}
#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函数
其结构
[cpp] view plaincopyprint?
void cvFillPoly(//画多个实心多边形
CvArr* img,//画布图像
CvPoint** pts,//点序列
int* npt,//计数点数组
int contours,//显示几个多边形
CvScalar color,//颜色
int line_type = 8
);
void cvFillPoly(//画多个实心多边形 CvArr* img,//画布图像 CvPoint** pts,//点序列 int* npt,//计数点数组 int contours,//显示几个多边形 CvScalar color,//颜色 int line_type = 8 );
2.cvFillConvexPoly函数
其结构
[cpp] view plaincopyprint?
void cvFillConvexPoly(//画一个实心多边形
CvArr* img,//画布图像
CvPoint* pts,//点序列
int npt,//计数点数组
CvScalar color,//颜色
int line_type = 8
);
void cvFillConvexPoly(//画一个实心多边形 CvArr* img,//画布图像 CvPoint* pts,//点序列 int npt,//计数点数组 CvScalar color,//颜色 int line_type = 8 );
3.cvPolyLine函数
[cpp] view plaincopyprint?
void cvFillPoly(//画多个空心多边形
CvArr* img,//画布图像
CvPoint** pts,//点序列
int* npt,//计数点数组
int contours,//显示几个多边形
int is_closed,//是否从上个多边形尾点开始
CvScalar color,//颜色
int thickness = 1,//宽度
int line_type = 8
);
void cvFillPoly(//画多个空心多边形 CvArr* img,//画布图像 CvPoint** pts,//点序列 int* npt,//计数点数组 int contours,//显示几个多边形 int is_closed,//是否从上个多边形尾点开始 CvScalar color,//颜色 int thickness = 1,//宽度 int line_type = 8 );
实例代码
[cpp] view plaincopyprint?
#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;
}
#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函数
其结构
[cpp] view plaincopyprint?
void cvPutText(//绘制文字
CvArr* img,//绘图图像
const char* text,//文字内容
CvPoint origin,//文字起始位置
const CvFont* font,//文字字体设置
CvScalar color//颜色
);
void cvPutText(//绘制文字 CvArr* img,//绘图图像 const char* text,//文字内容 CvPoint origin,//文字起始位置 const CvFont* font,//文字字体设置 CvScalar color//颜色 );
实例代码
[cpp] view plaincopyprint?
#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;
}
#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; }
输出结果
相关文章推荐
- 《学习opencv》笔记——关于一些绘图的函数
- 《学习opencv》笔记——关于一些绘图的函数
- 《学习opencv》笔记——关于一些绘图的函数
- 《学习opencv》笔记——关于一些绘图的函数
- 《学习opencv》笔记——关于一些绘图的函数
- 《学习opencv》笔记——关于一些绘图的函数
- 《学习opencv》笔记——关于一些绘图的函数
- 《学习opencv》笔记——关于一些绘图的函数
- 《学习opencv》笔记——关于一些绘图的函数
- 《学习opencv》笔记——关于一些绘图的函数
- 《学习opencv》笔记——关于一些绘图的函数
- 《学习opencv》笔记——关于一些绘图的函数
- 《学习opencv》笔记——关于一些绘图的函数
- 《学习opencv》笔记——关于一些绘图的函数
- 《学习opencv》笔记——关于一些绘图的函数
- 《学习opencv》笔记——关于一些绘图的函数
- 《学习opencv》笔记——关于一些绘图的函数
- 《学习opencv》笔记——关于一些绘图的函数
- 《学习opencv》笔记——关于一些绘图的函数
- 《学习opencv》笔记——关于一些绘图的函数