opencv 学习第二天 学习opencv(中文版)画一个图像

#include <iostream>
#include<opencv2/highgui/highgui.hpp>
#include <cv.h>
#define w 400
using namespace std;
using namespace cv;
void MyEllipse(Mat image,double angle)
{
	int thickness = 2;
	int linetype = 8;
	ellipse(image,Point(w/2.0,w/2.0),
		Size(w/4.0,w/16.0),
		angle,0,360,Scalar(255,0,0),thickness,linetype);
}
void MyFilledCircle(Mat image,Point center)
{
	int thickness = -1;
	int linetype = 8;
	circle(image,center,w/32.0,Scalar(0,0,255),thickness,linetype);
}
void main()
{
	cvNamedWindow("Drawing Atom");//window name
	Mat atom_image = Mat::zeros(w,w,CV_8UC3);//create black empty image
	for (int i = -90;i<=90;i = i+10)
	{
		MyEllipse(atom_image,i);
	}
	MyFilledCircle(atom_image,Point(w/2.0,w/2.0));
	imshow("Drawing Atom",atom_image);
	waitKey(0);
	system("pause");
}

分析,该分析参考了http://www.opencv.org.cn/opencvdoc/2.3.2/html/doc/tutorials/core/basic_geometric_drawing/basic_geometric_drawing.html这篇blog

void MyEllipse(Mat image,double angle)

  • 椭圆将被画到图像 img
  • 椭圆中心为点 (w/2.0, w/2.0) 并且大小位于矩形 (w/4.0, w/16.0)
  • 椭圆旋转角度为 angle
  • 椭圆扩展的弧度从 0 度到 360
  • 图形颜色为 Scalar( 255, 255, 0) ,既蓝色
  • 绘椭圆的线粗为 thickness ,此处是2
void MyFilledCircle(Mat image,Point center)
  • 圆将被画到图像 ( img )上
  • 圆心由点 center 定义
  • 圆的半径为: w/32.0
  • 圆的颜色为: Scalar(0, 0, 255) ,按BGR的格式为 红色
  • 线粗定义为 thickness = -1, 因此次圆将被填充

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值