《学习opencv》笔记——关于一些绘图的函数
来源:互联网 发布:sql plus是什么 编辑:程序博客网 时间:2024/04/28 21:06
绘图函数
(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;
- }
输出结果
0 0
- 《学习opencv》笔记——关于一些绘图的函数
- 《学习opencv》笔记——关于一些绘图的函数
- 《学习opencv》笔记——关于一些绘图的函数
- 《学习opencv》笔记——关于一些绘图的函数
- 《学习opencv》笔记——关于一些绘图的函数
- 《学习opencv》笔记——关于一些绘图的函数
- opencv笔记 2.一些简单的绘图函数使用
- OpenCV_Python学习笔记--OpenCV中的绘图函数
- 【OpenCV学习笔记】七、基本绘图函数
- OpenCV学习笔记(二十一)——绘图函数core
- opencv学习笔记——数据结构与基本绘图
- OpenCV学习笔记(二十一)——绘图函数core OpenCV学习笔记(二十二)——粒子滤波跟踪方法 OpenCV学习笔记(二十三)——OpenCV的GUI之凤凰涅槃Qt OpenCV学习笔记(二十
- opencv学习笔记:一些函数、类的使用方法
- 学习opencv(1)——一些函数
- opencv 简单绘图学习笔记
- OpenCV学习笔记四:绘图
- OpenCv学习笔记(七)---OpenCv中的基本绘图函数,圆,椭圆,线段,矩形,多边形的绘制(1)
- OpenCv学习笔记(七)---OpenCv中的基本绘图函数,圆,椭圆,线段,矩形,多边形的绘制(2)--提高篇
- java类型转换大集合
- 希尔排序shell sort
- 《学习opencv》笔记——关于一些绘图的函数
- java 静态方法和实例方法的区别
- Remove Duplicates from Sorted Array II
- 《学习opencv》笔记——关于一些绘图的函数
- UNIMODAL PALINDROMIC DECOMPOSITIONS——动态规划
- 大二小结
- Rails 入门笔记
- 碎碎念,浅浅饮-------Day30
- JSP的内置对象
- 大二下的期末规划
- spring IOC
- php通过魔术方法__call实现类函数重载