您的位置:首页 > 运维架构

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

2013-06-26 16:57 489 查看
#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, 因此次圆将被填充

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  OpenCV 图形