作者:gnuhpc
出处:http://www.cnblogs.com/gnuhpc/

#include "highgui.h"
#include "cv.h"
#include <iostream>
#include <iomanip>using namespace std;#define thickness 2//线条粗细
#define line_type CV_AA//抗锯型直线int main()
{
CvScalar color=CV_RGB(255,158,97);//按RGB顺序排列
CvPoint pt1_Rect,pt2_Rect;//确定对角线上的两点
CvPoint center;//确定笑脸中心
int radius=0;//笑脸的半径//Eye
CvPoint center_l_eye;
CvPoint center_r_eye;//定义两眼的中心
CvSize axes_eye;//定义左右眼大小
double angle_l_eye=15;//左眼的偏转角,正数表示逆时针,附属为顺时针
double angle_r_eye=-15;double start_angle_eye=0;
double end_angle_eye=360;//Mouth
CvPoint pt1_l_mouth;
CvPoint pt2_l_mouth;
CvPoint pt1_r_mouth;
CvPoint pt2_r_mouth;//嘴角的点CvSize axes_mouth;
double angle_mouth=0;double start_angle_mouth=0;
double end_angle_mouth=360;//画图初始化
IplImage *img=cvCreateImage(cvSize(600,600),IPL_DEPTH_8U,3);
cvNamedWindow("image",CV_WINDOW_AUTOSIZE);//画外围边框
pt1_Rect.x=0;
pt1_Rect.y=0;
pt2_Rect.x=600;
pt2_Rect.y=600;
color=CV_RGB(97,158,255);
cvRectangle(img,pt1_Rect,pt2_Rect,color,CV_FILLED,line_type,0);//笑脸的轮廓
color=CV_RGB(255,158,97);
center.x=300;
center.y=300;
radius=200;
cvCircle(img,center,radius,color,CV_FILLED,line_type,0);//画眼睛
color=CV_RGB(156,25,255);
center_l_eye.x=240;
center_l_eye.y=200;
center_r_eye.x=360;
center_r_eye.y=200;
axes_eye.width=16;
axes_eye.height=30;
angle_l_eye=10;
angle_r_eye=-5;
start_angle_eye=0;
end_angle_eye=360;cvEllipse(img,center_l_eye,axes_eye,angle_l_eye,start_angle_eye,end_angle_eye,
color,CV_FILLED,line_type,0);//画左眼
cvEllipse(img,center_r_eye,axes_eye,angle_r_eye,start_angle_eye,end_angle_eye,
color,CV_FILLED,line_type,0);//画右眼//画嘴巴
pt1_l_mouth.y=300;
pt1_l_mouth.x=150;
pt2_l_mouth.y=270;
pt2_l_mouth.x=180;
pt1_r_mouth.y=270;
pt1_r_mouth.x=400;
pt2_r_mouth.y=300;
pt2_r_mouth.x=430;
axes_mouth.width=130;
axes_mouth.height=100;
start_angle_mouth=150;
end_angle_mouth=347;
angle_mouth=10;//左右嘴角
cvLine(img,pt1_l_mouth,pt2_l_mouth,color,4,line_type,0);
cvLine(img,pt1_r_mouth,pt2_r_mouth,color,4,line_type,0);//嘴巴的圆弧
cvEllipse(img,center,axes_mouth,angle_mouth,start_angle_mouth,
end_angle_mouth,color,4,line_type,0);
cvShowImage("image",img);
cvWaitKey(0);
cvSaveImage("smile.jpg",img);
cvReleaseImage(&img);
}

【OpenCV学习】用绘图函数画一个奥运志愿者笑脸徽章相关推荐

  1. 用emWin的2D绘图函数画一个带圆形端点的环形进度条

    先上效果图,首先是顺时针转: 然后是逆时针转: 大概讲一下思路吧,首先讲一下顺时针是怎么弄的,很简单. 画圆弧函数GUI_DrawArc有起始角度a0和终止角度a1两个参数,且a0必须小于a1否则无法 ...

  2. 拜师————python基础入门——守破离学习法,海龟绘图,画出奥运五环图,day3

    第六节课:任务6:006.简单错误如何处理_守破离学习法_程序员修炼手册 刚刚开始学习python,编程常常会出现一系列错误,建议采用一种学习方法来学习: 守 破 离 (这个是学习常识) 老师出的书: ...

  3. python_海龟绘图_画出奥运五环图---python工作笔记014

    然后我们再用海龟绘图去,画个奥运五环 去新建一个文件 首先引入turtle海龟绘图程序包

  4. opencv图像处理-常见绘图函数

    介绍 opencv 中常用的一些绘图函数 cv.line(),cv.circle(),cv.rectangle(),cv.ellipse(),cv.putText()等. 在上述所有功能中,有一些常见 ...

  5. opencv 学习:reshape函数

    在opencv中,reshape函数比较有意思,它既可以改变矩阵的通道数,又可以对矩阵元素进行序列化,非常有用的一个函数. 函数原型: C++: Mat Mat::reshape(int cn, in ...

  6. opencv 学习第三课 画线段 圆 椭圆 矩形 多边形 插入文字 代码注释版 保证你每一行都能读懂

    import numpy as np import cv2 as cv # 创建一张大小为512×512,通道数为3的黑色的图片 img = np.zeros((512,512,3), np.uint ...

  7. @用Python的turtle库画一个奥运五环!

    turtle库是一个非常有意思的东西,可以做一些画,安装也非常好安装,只需要在电脑中的ide中输入pip install turtle(这是Python2.0版本的安装) python3中输入pip3 ...

  8. 20200929 008.海龟绘图_画出奥运五环图

    绘制奥运五环标记 源码: #绘制奥运五环 import turtle turtle.width(10) turtle.color("blue") turtle.circle(50) ...

  9. 利用Python的turtle画一个奥运五环

    奥运五环图如下 ♥实现思路 项目需求 实现思路 需要画5个交叉的⚪ 利用turtle.circle()方法实现 五种颜色 turtle.color()方法改变颜色 画完一个⚪前往下一个点画⚪时不能有轨 ...

最新文章

  1. 软考程序员Java答题速成_软考程序员考试试题解答方法与技巧
  2. windows下sse性能对比
  3. php postgresql多条,PHP操作Postgresql封装类与应用完整实例
  4. 岗位推荐 | 阿里巴巴达摩院招聘自然语言处理、机器翻译算法专家
  5. 利用微信登录掘金网站的HTTP请求分析
  6. [Linux学习]man page常用按键
  7. 阿里巴巴成立云原生技术委员会,云原生升级为阿里技术新战略!
  8. redis主线程阻塞的情形
  9. Js参数RSA加密传输,jsencrypt.js的使用
  10. 二 、 搭建Android 开发环境读书笔记
  11. 天气和气象数据网站集合
  12. 在逍遥模拟器下安装XPOSED框架
  13. es 初识调研,相关知识点汇总
  14. html5如何实现语音点歌,怎么给手机点歌 怎么样用自己手机给对方手机点歌
  15. 惠州全日制计算机学校,惠州市所有中专学校一览表
  16. tf.extract_image_patches
  17. Deep Attention Network:基于深层注意力网络的高光谱与多光谱图像融合
  18. Arch Linux 安装Go
  19. 利用javascript计算n阶矩阵
  20. 微信全球MBA创新大赛麻省理工学院的WeChat Care团队夺魁

热门文章

  1. JS实现射击靶子小游戏
  2. 【吐血整理】史上最全的《Java面试题及解析》
  3. #双11故事联播#揭秘篇|白条团队双11备战实录
  4. Leetcode 1096:花括号展开 II(超详细!!!)
  5. java-php-python-超市货品进销存系统后台计算机毕业设计
  6. wireshark05-nfs协议unmount
  7. 09.less-----less中的变量
  8. vivo计算机的功能是什么意思啊,原来vivo手机这个功能,开启之后体验杠杠的!...
  9. 汇丰数据处理(上海)有限公司简介和面试经历
  10. 【寒假每日一题】找硬币(个人练习)详细题解+推导证明(第十二天)