opencv常用绘图函数

来源:互联网 发布:人工智能伏羲觉醒有2吗 编辑:程序博客网 时间:2024/05/19 19:39

主要用途:对图像处理的标记
————————————————————————————————常用绘图函数
line()函数———–用来绘制直线
circle()函数———用于绘制圆
rectangle()函数—-用于绘制矩形
ellispe()函数——–用来绘制椭圆
fillPoly()/polyliness()函数——用来绘制多边形
putText()函数——-用来添加文字
———————————————————————————————
1)绘制直线—–line()
CV_EXPORTS_W void line(CV_IN_OUT Mat& img,Point pt1,Point pt2,const Scalar&clolor,int thickness=1,int lineType=8,int shift=0);
线宽 线类型 最后一个参数就这么写

2)绘制圆——–circle()
CV_EXPORTS_W viod cirlce(CV_IN_OUT Mat& img,Point center,int radius,const Scalar &color,int thickness=1,int lineType=8,int shift=0);
圆心坐标 半径 thickness是线宽 正比 如果设置为-1则为填充的
linetype是线类型
3)绘制矩形——rectangle()
CV_EXPORTS_W void rectangle(CV_IN_OUT Mat&img,Point pt1,Point pt2,const Scalar&color,int thickness=1,int lineType=8,int shift=0);

CV_EXPORTS void rectangle(CV_IN_OUT Mat&img,Rect rec,const Scalar& color,int thickness=1,int lineType=8,int shift=0);

4)绘制椭圆——ellipse()
CV_EXPORTS_W void ellipse(CV_IN_OUT Mat&img,Point center,Size axes,double angle,double startAngle,double endAngle,const Scalar&color,int thickness=1,int lineType=8,int shift=0);
椭圆的宽高
angle 是椭圆的旋转角度
startAngle ,endAngle 0-,360

CV_EXPORTS_W void ellipse(CV_IN_OUT Mat &img,const RatatedRect &box,const Scalar &color,int thickness=1,int lineType=8);
5)绘制多边形——fillPoly() ||polylines()
CV_EXPORTS void fillPoly(Mat &img,const Point**pts,const int* npts,int ncontours,const Scalar&color,int lineType=8,int shift=0,Point offset=Point());//填充多变形
CV_EXPORTS void polyliness(Mat &img,const Point**pts,const int *npts,int ncontours,bool isClosed,const Scalar&color,int thickness=1,int lineType=8,int shift=0);//非填充多边形
点集,点的个数,绘制几边形

isColsed 多变形是否关闭
6)添加文字—–putText()
CV_EXPORTS_W void putText(Mat &img,const string &text,Point org,int fontFace,double,fontScale,Scalar color,int thickness=1,int lineType=8,bool bottomLeftOrigin=false);
putText(img,”opencv”,Point(30,70),CV_FONT_HERSHEY_SIMPLEX,2Scalar(0,255,0)2,8);
设置添加文字的字体,文字的大小
设置为true 文字会翻转过来

原创粉丝点击