opencv 简单绘图学习笔记

opencv 简单绘图学习笔记

下面是源码。

#include <cv.h>
#include <highgui.h>
#include <iostream>
#include <stdio.h>


#define w 400


using namespace std;
using namespace cv;

//画椭圆函数
void MyEllipse( Mat img, double angle )
{
  int thickness = 2;//线粗
  int lineType = 8;//线类型
//图像,椭圆中点,椭圆长轴短轴,旋转角度,0度,360度,像素,线粗,线类型
  ellipse( img,
           Point( w/2.0, w/2.0 ),
           Size( w/4.0, w/16.0 ),
           angle,
           0,
           360,
           Scalar( 255, 191, 0 ),
           thickness,
           lineType );
}
//画圆函数
void MyFilledCircle( Mat img, Point center )
{
 int thickness = -1;
 int lineType = 8;
//图像,圆心,半径,像素,线粗,线类型 若为-1填充整个圆区域
 circle( img,
         center,
         w/32.0,
         Scalar( 0, 240, 0 ),
         thickness,
         lineType );
}

int main()
{
  /// 窗口名字
char atom_window[] = "Drawing 1: Atom";

/// 创建空全黑像素的空图像,宽度高度均为400
Mat atom_image = Mat::zeros( w, w, CV_8UC3 );

int width = atom_image.rows;
cout << width << endl;//输出宽度
cout << atom_image.cols << endl;//输出高度

/// 1.a. 创建椭圆
MyEllipse( atom_image, 90 );
MyEllipse( atom_image, 0 );
MyEllipse( atom_image, 30 );
MyEllipse( atom_image, -30 );
MyEllipse( atom_image, 60 );
MyEllipse( atom_image, -60 );




/// 1.b. 创建圆
//以图像中心为圆心画圆
MyFilledCircle( atom_image, Point( w/2.0, w/2.0) );

namedWindow(atom_window,1);//创建显示窗口
imshow("circle",atom_image);//显示图像

waitKey();//等待用户操作
return 0;

}

备注:通过修改Scalar值可以改变椭圆和圆形颜色,三个值分别对应BGR三原色值,通过rgb值对照表可以设置出各种颜色。修改长轴短轴和半径也可以改变椭圆和圆形大小。
运行结果可看到如下图形:

这里写图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值