opencv 常用的数据结构和函数

颜色空间转换函数 cvtColor 函数

cvtColor 函数是opencv 中的颜色空间转换函数。
可以实现rgb向hsv hsi等颜色空间的转换,也可以转换成灰度图像

原型:void cvtColor (InputArray src,OutArray dst,int code,int dstCn =0);
src :输入图像
dst:输出图像
code:颜色转换空间标示
dstCn:目标图像的通道数 若该参数为0 则为目标图像的通道数

cvtColor 函数标识符
RGB-> BGR CV_BGR2BGRA ,CV_RGB2BGRA,CV_BGRA2RGBA,CV_BGR2BGRA,CV_BGRA2BGR
RGB->GRAY CV_RGB2GRAY,CV_GRAY2RGB,CV_RGBA2GRAY,CV_GRAY2RGBA
RGB->HSV CV_RGB2HSV,CV_BGR2HSV,CV_HSV2BGR,CV_HSV2BGR,CV_HSV2RGB
RGB->HLS CV_RGB2HLS,CV_BGR2HLS,CV_HLS2RGB,CV_HLS2BGR

#include "opencv2/imgproc/imgproc.hpp"
#include "opencv2/highgui/highgui.hpp"
using namespace cv;
int main()
{
Mat srcImage = imread("jpg/1.jpeg");
Mat dstImage;
cvtColor(srcImage,dstImage,CV_RGB2BGR);
imshow("src",srcImage);
imshow("dst",dstImage);
waitKey();
return 0;
}

图形绘制函数
Ellipse函数的用法
函数原型:void ellipse(Mat&img, Point center, Size axes, double angle, double startAngle, double endAngle, const Scalar&color, int thickness=1, int lineType=8, int shift=0)

img :画布容器
center:椭圆中心
axes :大小位于该矩形中
angle:椭圆的旋转角度
startangle:开始弧度
endAngle:结束弧度
color :图形颜色
thickness :线宽
lineType :线型
shift :圆心坐标点和数轴的精度

#include "opencv2/imgproc/imgproc.hpp"
#include "opencv2/highgui/highgui.hpp"
using namespace cv;
#define WINDOW_WIDTH 600
void DrawEllipse(Mat img,double angle)
{
int thickness = 2;
int lineType = 8;
ellipse(
img,
Point(WINDOW_WIDTH/2,WINDOW_WIDTH/2),
Size(WINDOW_WIDTH/4,WINDOW_WIDTH/16),
angle,
0,
360,
Scalar(255,129,0),
thickness,
lineType
);

}
int main()
{
Mat img(1000,600,CV_8UC3,Scalar::all(0));
DrawEllipse(img,30);
imshow("ellipse",img);
waitKey();
return 0;
}

Circle 函数的用法

函数原型 void circle(Mat& img, Point center, int radius, const Scalar& color, intthickness=1, int lineType=8, int shift=0)
img: 将要画圆的图像;
center: 圆心;
radius: 半径;
color: 圆的颜色;
thickness: 如果值是正,圆外轮廓的厚度,如果值是负,表示要绘制一个填充圆;
lineType:线类型;
shift:

void DrawCircle(Mat img)
{
int thickness = -1;
int lineType = 8;

circle(
img,
Point(100,300),
60,
Scalar(0,89,255),
thickness,
lineType

);
}

line 函数的用法
函数原型 line(Mat& img, Point pt1, Point pt2, const Scalar& color, int thickness=1, int lineType=8, int shift=0)
img :输出图像
pt1 :开始点
pt2 :结束点
color:线条颜色
thickness :线条粗细
lineType :线型
shift

void DrawLine(Mat img)
{
int thickness = 1;
int lineType = 8;

line(
img,
Point(100,200),
Point(500,600),
Scalar(255,23,56),
thickness,
lineType
);
}

转载于:https://www.cnblogs.com/techdreaming/p/5193835.html

opencv 基本绘图函数相关推荐

  1. python opencv 入门 绘图函数 (3)

    内容来自OpenCV-Python Tutorials 自己翻译整理 目标: 使用opencv画几何图形 学习如下函数 cv2.line(), cv2.circle() , cv2.rectangle ...

  2. python OpenCV 绘图函数

    OpenCV可以用来绘制不同的集合图形,包括直线,矩形,圆,椭圆,多边形以及在图片上添加文字.用到的绘图函数包括 cv2.line(),cv2.circle(),cv2.rectangle() ,cv ...

  3. OpenCV学习笔记(二十一)——绘图函数core OpenCV学习笔记(二十二)——粒子滤波跟踪方法 OpenCV学习笔记(二十三)——OpenCV的GUI之凤凰涅槃Qt OpenCV学习笔记(二十

    OpenCV学习笔记(二十一)--绘图函数core 在图像中,我们经常想要在图像中做一些标识记号,这就需要绘图函数.OpenCV虽然没有太优秀的GUI,但在绘图方面还是做得很完整的.这里就介绍一下相关 ...

  4. python drawline_基于python,OPenCv中基本的绘图函数

    (一)OpenCv中,python接口的基本的绘图函数 1-用于绘制直线的--------cv2.line()函数 2-用于绘制椭圆的--------cv2.ellipse()函数 3-用于绘制矩形的 ...

  5. opencv︱图片与视频的读入、显示、写出、放缩与基本绘图函数介绍

    本文来自于段力辉 译<OpenCV-Python 中文教程> 文章目录 一.图片 + 读入.显示.写出 1.cv2.imread() 2.cv2.imshow() 3.cv2.imwrit ...

  6. OpenCV 图像处理:常用绘图函数

    本文已收录于Opencv系列专栏: 深入浅出OpenCV ,专栏旨在详解Python版本的Opencv,为计算机视觉的开发与研究打下坚实基础.免费订阅,持续更新. 文章目录 opencv中的绘图函数 ...

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

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

  8. OpenCV绘图函数:cv2.line、cv2.circle、cv2.rectangle、cv2.ellipse、 cv2.putText()、cv2.setMouseCallback

    ​OpenCV是一个用于图像处理.分析.机器视觉方面的开源函数库. 不管你是做科学研究,还是商业应用,opencv都能够作为你理想的工具,它可以运行在Linux.Windows.Android和Mac ...

  9. [548]OpenCV之cv2函数

    1.主要函数 1. cv2.imread():读入图片,共两个参数,第一个参数为要读入的图片文件名,第二个参数为如何读取图片,包括 cv2.IMREAD_COLOR:读入一副彩色图片:cv2.IMRE ...

  10. Cxcore绘图函数

    绘图函数作用于任何象素深度的矩阵/图像. Antialiasing技术只能在8位图像上实现.所有的函数包括彩色图像的色彩参数(色彩参数是指rgb它是由宏CV_RGB或cvScalar函数构成.)和灰度 ...

最新文章

  1. Python 入门篇-python3和python2的差异总结
  2. php xml 增删改查,PHP实现对xml进行简单的增删改查(CRUD)操作示例
  3. BeyondCompare4.1.9解决过期问题
  4. 通过IEnumerable和IDisposable实现可暂停和取消的任务队列
  5. Android平台各类恶意软件及病毒概览
  6. Android中的Handler总结
  7. json函数 presto_Hive sql和Presto sql的一些对比
  8. 护士如何预防职业病:下肢静脉曲张-健康小常识
  9. 21.UNIX 环境高级编程--与网络打印机通信
  10. 14. 税收规则(Tax Rules)
  11. CodeJock 实现MFC换肤
  12. 机器学习系列全集,301页PDF精心整理!
  13. 成绩查询系统源代码-Leo老师
  14. 企业邮箱登录入口:企业邮箱oa管理系统
  15. Android APK安装后资源文件(res/assets)位置
  16. 为 Hexo 搭建的博客添加属于自己的个性域名
  17. Doxbox更改窗口大小
  18. matlab通过数据进行曲线拟合 导出公式
  19. 大青云不显示服务器,37大青云4月25日关服停止运营公告
  20. 讲python讲得好的评价_分析20万条弹幕告诉你,8.9分的高分剧《隐秘的角落》到底好看在哪儿?...

热门文章

  1. python筛选数据求均值_Python数据分析之从100万条数据中筛选出前100热门电影
  2. C# datagridview绑定Liststring显示的是数据长度
  3. Oracle数据库内存使用情况分析查看
  4. python3使用smtplib通过qq邮箱发送邮件
  5. ORACLE 常用函数——日期/时间函数
  6. grails 保存图片
  7. Oracle EBS-SQL (BOM-4):检查期间新增编码总数.sql
  8. 经典技术文章翻译(3):IIS7协议侦听器(Introducing IIS 7 IIS Protocol Listeners)
  9. 要看方兴东的博客 只能上Google去找他
  10. conda install 报错PackagesNotFoundError: 以及和合理使用源的策略