HighGUI组件

  1. 图像的载入:imread()函数

    Mat imread(const string& filename, int flag = 1)其中flag=1代表读入RGB彩色图像,-1表示读取原始图像,0表示读取灰度图(TODO表格)

  2. 图像的显示:imshow()函数(改变窗口大小)

    imshow时改变窗口大小,

    ScreenShot from CSDN

string winname = "Wind";
namedWindow(winname, 0);//这个0是何意义呢?
resizeWindow(winname, 640, 480);

void imshow(const string& winname, InputArray mat)

waitKey()函数原型 int cv:waitKey(int delay=0)

  • delay ≤0 无限延时
  • delay > 0时,延时delay 毫秒
    • 延时期间,如果有键按下,则返回键值(Esc对应的键值为27)

      • 没有键按下,则返回-1
  1. 图像的保存:imwrite()函数

    OpenCV彩色图像的存储顺序为BGR

    OpenCV保存视频的格式只能为AVI

  2. cvtColor 将图像转换到另一个颜色空间cvtColor(src, dst, code)

    应用场景:

    • COLOR_BGR2RBG
    • COLOR_BGR2GRAY 将彩色图转换为灰度图
    • COLOR_BGR2YCrCb 对彩色图像的亮度通道进行处理

数据结构与基本绘图

  1. 在图像的指定坐标点处画一个圆圈:cv::circle(img, Point, radius, color)

    必选参数为:图像、点坐标、圆的半径和颜色

    其中typedef Point2i Point 构造函数Point(x, y)
  2. 在图像中两点画一条直线:cv::line(img, point1, point2, color)

    必选参数:图像,点1和点2,颜色;可选参数:thinkness, lineType和shift是啥
  3. Rectangle()
  4. putText()
  5. Size(width, height) 图像的尺寸/大小

  • Linux下查看OpenCV版本号 pkg-config --modversion opencv

OpenCV学习记录(C++版本)的更多相关文章

  1. OpenCV学习记录(二):自己训练haar特征的adaboost分类器进行人脸识别 标签: 脸部识别opencv 2017-07-03 21:38 26人阅读

    上一篇文章中介绍了如何使用OpenCV自带的haar分类器进行人脸识别(点我打开). 这次我试着自己去训练一个haar分类器,前后花了两天,最后总算是训练完了.不过效果并不是特别理想,由于我是在自己的 ...

  2. OpenCV学习记录(一):使用haar分类器进行人脸识别 标签: opencv脸部识别c++ 2017-07-03 15:59 26人阅读

    OpenCV支持的目标检测的方法是利用样本的Haar特征进行的分类器训练,得到的级联boosted分类器(Cascade Classification).OpenCV2之后的C++接口除了Haar特征 ...

  3. opencv学习记录

    #include<iostream> #include <opencv2/core/core.hpp> #include <opencv2/highgui/highgui ...

  4. OpenCV学习记录之摄像头调用

    关于opencv调用摄像头的问题主要是因为摄像头的打开有延时.在显示图像前,要用if语句判断图像是否存在.(否则会报错) 具体的:教程里的源程序,将if条件句里,break去掉,并增加else语句. ...

  5. Java 静态内部类与非静态内部类 学习记录.

    目的 为什么会有这篇文章呢,是因为我在学习各种框架的时候发现很多框架都用到了这些内部类的小技巧,虽然我平时写代码的时候基本不用,但是看别人代码的话至少要了解基本知识吧,另外到底内部类应该应用在哪些场合 ...

  6. Python学习记录day6

    title: Python学习记录day6 tags: python author: Chinge Yang date: 2016-12-03 --- Python学习记录day6 @(学习)[pyt ...

  7. opencv学习笔记(四)投影

    opencv学习笔记(四)投影 任选了一张图片用于测试,图片如下所示: #include <cv.h> #include <highgui.h> using namespace ...

  8. opencv学习笔记(三)基本数据类型

    opencv学习笔记(三)基本数据类型 类:DataType 将C++数据类型转换为对应的opencv数据类型 OpenCV原始数据类型的特征模版.OpenCV的原始数据类型包括unsigned ch ...

  9. opencv学习笔记(一)IplImage, CvMat, Mat 的关系

    opencv学习笔记(一)IplImage, CvMat, Mat 的关系 opencv中常见的与图像操作有关的数据容器有Mat,cvMat和IplImage,这三种类型都可以代表和显示图像,但是,M ...

随机推荐

  1. hadoop-2.10.0安装hive-2.3.6

    公司建立数仓,hive是必不可少的,hive是建立在hadoop基础上的数据库,前面已经搭建起了hadoop高可用,要学习hive,先从搭建开始,下面梳理一下hive搭建过程 1.下载hive安装包 ...

  2. Struts(五)

    前端和后端验证    1.前端:用户体验    2.保证程序的安全性    ================================验证框架========================== ...

  3. golang学习笔记(二):流程控制

    欢迎访问我的博客和github! 今天咱们把烦人的事情丢一丢,继续来学习go的基础知识. 这篇文章记录go语言的流程控制和更多类型. 流程控制 for Go 只有一种循环结构:for 循环. 基本的 ...

  4. Codeforces_712_A

    http://codeforces.com/contest/712/problem/A 水题,写出来就看到规律了. #include<iostream> #include<cstri ...

  5. MainActivity中R为红色

    除了在gradle.properties中加入东西外还可能原因是在activity_main.xml 组件的设置有错误

  6. qt creator源码全方面分析(2-7)

    目录 Completing Code 补全代码片段 编辑代码片段 添加和编辑片段 删除片段 重置片段 补全Nim代码 Completing Code 在编写代码时,Qt Creator建议使用属性,I ...

  7. 为什么尽量不要使用Executors创建线程池

    看阿里巴巴开发手册并发编程这块有一条:线程池不允许使用Executors去创建,而是通过ThreadPoolExecutor的方式,通过源码分析禁用的原因. 线程池的优点 管理一组工作线程,通过线程池 ...

  8. 详解Java8的日期和时间API

    详解Java8的日期和时间API 在JDK1.0的时候,Java引入了java.util.Date来处理日期和时间:在JDK1.1的时候又引入了功能更强大的java.util.Calendar,但是C ...

  9. webpack构建vue单文件组件

    1.安装vue-loader和vue-template-compiler npm i vue-loader vue-template-compiler --save-dev 2.配置webpack.c ...

  10. vue路由--使用router.push进行路由跳转

    手机赚钱怎么赚,给大家推荐一个手机赚钱APP汇总平台:手指乐(http://www.szhile.com/),辛苦搬砖之余用闲余时间动动手指,就可以日赚数百元 route-link是在html中静态定 ...