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
);
}

opencv 基本绘图函数的更多相关文章

  1. OpenCV基本绘图函数

    线段:line 函数 CV_EXPORTS_W void line(CV_IN_OUT Mat& img, Point pt1, Point pt2, const Scalar& co ...

  2. opencv-python教程学习系列4-opencv绘图函数

    前言 opencv-python教程学习系列记录学习python-opencv过程的点滴,本文主要介绍opencv绘图函数,坚持学习,共同进步. 系列教程参照OpenCV-Python中文教程: 系统 ...

  3. OpenCV中的绘图函数-OpenCV步步精深

    OpenCV 中的绘图函数 画线 首先要为画的线创造出环境,就要生成一个空的黑底图像 img=np.zeros((512,512,3), np.uint8) 这是黑色的底,我们的画布,我把窗口名叫做i ...

  4. opencv学习之路(4)、Mat类介绍,基本绘图函数

    一.Mat类创建 Mat img;//创建无初始化矩阵 Mat img1(,,CV_8UC1);//200行,100列(长200,宽100) Mat img2(Size(,),CV_8UC3,Scal ...

  5. OpenCV绘图函数

    OpenCV几个绘图函数 矩形 rectangle(Mat& img,Point pt1, Point pt2, const Scalar&color, int thickness=1 ...

  6. 5、opencv中的绘图函数

    1.目标 a.学习使用 OpenCV 绘制不同几何图形 b. 你将会学习到这些函数: cv2.line(), cv2.circle(), cv2.rectangle(),cv2.ellipse(),c ...

  7. OpenCV中的绘图函数

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

  8. Opencv笔记(四)——绘图函数

    常用的绘图函数有: cv2.line()       cv2.circle()        cv2.rectangle()      cv2.ellipse()       cv2.putText( ...

  9. OpenCV3入门(三)基本绘图函数

    1.函数原型 /** @brief Draws a line segment connecting two points.*/ CV_EXPORTS_W void line(InputOutputAr ...

随机推荐

  1. Akka(11): 分布式运算:集群-均衡负载

    在上篇讨论里我们主要介绍了Akka-Cluster的基本原理.同时我们也确认了几个使用Akka-Cluster的重点:首先,Akka-Cluster集群构建与Actor编程没有直接的关联.集群构建是A ...

  2. 【恢复】 Redo文件丢失的恢复

    第一章 Redo文件丢失的恢复 1.1  online redolog file 丢失 联机Redo日志是Oracle数据库中比较核心的文件,当Redo日志文件异常之后,数据库就无法正常启动,而且有丢 ...

  3. 一只猿:使用flask来做一个小应用

    上周 @萍姐 问我如何抓取天猫上面店铺的评分,看了下挺简单的,于是花了点时间写了个Python脚本,加上web.py做成一个web服务,使用起来还不错,今天来看的时候发现当时为了方便直接用web.py ...

  4. windows安装程序无法将windows配置为在此计算机的硬件上运行

    关于装windows系统时,出现一些安装中断的处理 该方法适用于 windows安装程序无法将windows配置为在此计算机的硬件上运行 计算机意外地重新启动或遇到错误. Windows 安装无法继续 ...

  5. win10 运行sqlplus报错“SP2-1503: 无法初始化 Oracle 调用界面”

    解决方法: 1.临时方案:此时可以以“管理员身份”运行cmd,然后再执行sqlplus就行了. 长久方案: 请看原文:http://blog.csdn.net/bisal/article/detail ...

  6. SQL Server2008 安装及概述

    最近在学习SQL Server 数据库,用的版本是2008 R2的版本,如下图所示,本人学习时间不长,写这篇文章一是为了锻炼自己加深印象,二也可以与和诸多朋友进行交流以及得到大家的指教. 安装教程网上 ...

  7. 记录Centos一些坑

    首先说一下写这篇博客的初衷. 最近去客户现场出差,搭建一套服务端的自动构建环境. 准备支持的环境有CentOS 7.5.java8.Tomcat 8.maven3.3.9.TBA 2.1.9.4 等等 ...

  8. iOS开发实战-上架AppStore 通过内购和广告获得收益

    写在前面 由于一些原因需要离职,准备重回大上海 忽然发现手头上也没什么独立App,那就随便写个放到AppStore上吧,凑个数吧.哈哈哈. 这个App是无聊找配色的时候看到的一套图 正好春节在家没什么 ...

  9. mongodb中limit与skip方法

    Mongodb Limit()方法 如果需要在mongodb中获取指定数量的数据记录,这时候就要用到limit()方法,该方法需要接收一个数字参数 基本语法:  DB.COLLECTION_NAME. ...

  10. PHP通过phpmailer批量发送邮件功能

    前端页面代码: 注意:目前发送人使用的qq邮箱支持的不是特别友好.建议使用网易 新浪 163等其他邮箱. 需要用到phpmailer包 下载地址:https://sourceforge.net/pro ...