一.cv::Mat

1.作用

cv::Mat表示图像类,用来操作图像和矩阵,它包含很多属性和方法

2.构造方法

cv::Mat image;  //cv::Mat image()      无参数构造方法

cv::Mat image(int rows,int cols,int type);    
cv::Mat image(cv::Size size,int type);

cv::Mat image(int rows,int cols,int type,const cv::Scalar& s);
cv::Mat image(cv::Size size,int type,const cv::Scalar& s);

cv::Mat image(int rows,int cols,int type,void* data,size_t step=AUTO_STEP)
cv::Mat image(cv::Size size,in type,void* data,size_t step=AUTO_STEP)

cv::Mat image(const cv::Mat& m);  //image1=image;
cv::Mat image(const cv::Mat& m,const Rect& roi);

  • type:

    CV_8UC1       灰度单通道图

CV_16SC1

CV_64FC4

3.成员函数

image.empty()
image.size().height
image.size().width
image.converTo(image2,CV_32F,1/255.0,0.0);
image.type();          
image.at<uchar>(int x,int y);
image.zeros()
image.ones()
image.eyes()

4.属性

image.data
image.rows  //像素总行数
image.cols  //像素总列数

二.翻转图像

1.cv::flip()

cv::flip(cv::Mat src,cv::Mat des,int i);  //用来翻转图像,正数表示水平翻转,0表示垂直翻转,负数表示既有水平翻转也有垂直翻转

cv::flip(image,result,1);

2.cvFlip()

三.数据

1.cv::Rect() / cv::Point() / cv::Scalar()

2.cvRect() / cvPoint() / cvScalar()

四.时间

1.cv::getTickCount() / cv::getTickFrequency()

2.cvGetTickCount() / cvGetTickFrequency()

五.拷贝图像

1.cv::Mat::CopyTo() / cv::Mat::clone()

2.cvCopy()

六.创建图像/销毁图像

1.cv::Mat::create() / cv::Mat::release()

2.cvCreateImage() / cvReleaseImage()

七.转化图像

1.cv::Mat.convertTo()

2.cvConvert()

八.绘制图形

1.cv::circle() / cv::rectangle() / cv::line() / cv::polylines() / cv::fillPoly()

2.cvCircle() / cvRectangle() / cvLine() / cvPolyLine() / cvFillPoly()

OpenCV2:总结篇 core模块的更多相关文章

  1. Spring第三篇【Core模块之对象依赖】

    前言 在Spring的第二篇中主要讲解了Spring Core模块的使用IOC容器创建对象的问题,Spring Core模块主要是解决对象的创建和对象之间的依赖关系,因此本博文主要讲解如何使用IOC容 ...

  2. Spring第二篇【Core模块之快速入门、bean创建细节、创建对象】

    前言 上篇Spring博文主要引出了为啥我们需要使用Spring框架,以及大致了解了Spring是分为六大模块的-.本博文主要讲解Spring的core模块! 搭建配置环境 引入jar包 本博文主要是 ...

  3. 移动商城第三篇【搭建Mybatis和Spring环境、编写Dao、Service在Core模块】

    Mybatis和Spring环境搭建 由于我们的所编写的dao层.service代码可能前台和后台都需要用到的,因此我们把环境搭建在core模块中 逆向工程 首先,我们要做的就是品牌管理,我们首先来看 ...

  4. Orchard详解--第八篇 拓展模块及引用的预处理

    从上一篇可以看出Orchard在处理拓展模块时主要有两个组件,一个是Folder另一个是Loader,前者用于搜索后者用于加载. 其中Folder一共有三个:Module Folder.Core Fo ...

  5. Orchard详解--第七篇 拓展模块(译)

    Orchard作为一个组件化的CMS,它能够在运行时加载任意模块. Orchard和其它ASP.NET MVC应用一样,支持通过Visual Studio来加载已经编译为程序集的模块,且它还提供了自定 ...

  6. ASP.NET Core模块概述

    原文地址:ASP.NET Core Module overview By Tom Dykstra, Rick Strahl, and Chris Ross ASP.NET Core模块(ANCM)让你 ...

  7. 转:OSGi 入门篇:模块层

    OSGi 入门篇:模块层 1 什么是模块化 模块层是OSGi框架中最基础的一部分,其中Java的模块化特性在这一层得到了很好的实现.但是这种实现与Java本身现有的一些模块化特性又有明显的不同. 本文 ...

  8. Spring之Core模块

    Core模块主要的功能是实现了控制反转与依赖注入.Bean配置以及加载.Core模块中有Beans.BeanFactory.BeanDefinitions.ApplicationContext等概念 ...

  9. ASP.NET Core 2.2 基础知识(十一) ASP.NET Core 模块

    ASP.NET Core 应用与进程内的 HTTP 服务器实现一起运行.该服务器实现侦听 HTTP 请求,并在一系列请求功能被写到 HttpContext 时,将这些请求展现到应用中. ASP.NET ...

随机推荐

  1. Python的一些技巧

    a = [32, 37, 28, 30, 37, 25, 27, 24, 35, 55, 23, 31, 55, 21, 40, 18, 50, 35, 41, 49, 37, 19, 40, 41, ...

  2. 在 UIViewController 中手动增加 TableView 出现 Type 'SomeViewController' does not confirm to protocol 'UITableViewDataSource' 问题的解决办法

    许多时候我们都有在普通的继承自 UIViewController 的控制器中使用 TableView 的需求,这时候就需要当前控制器类继承 UITableViewDelegate 和 UITableV ...

  3. NOIP 2006 T2 金明的预算方案

    题目描述 金明今天很开心,家里购置的新房就要领钥匙了,新房里有一间金明自己专用的很宽敞的房间.更让他高兴的是,妈妈昨天对他说:“你的房间需要购买哪些物品,怎么布置,你说了算,只要不超过NN元钱就行”. ...

  4. java面试基础问题

    1.一个".java"源文件中是否可以包括多个类(不是内部类)?有什么限制? 可以有多个类,但只能有一个public的类,并且public的类名必须与文件名相一致. 2.Java有 ...

  5. 「开源」SpringCloud+vue搭建的商城项目

    最近在研究SpringCloud,看到一个基于SpringCloud+vue搭建的模拟商城项目.用来辅助学习SpringCloud企业级开发还是很有帮助的.强烈推荐!! 源码地址在最后. spring ...

  6. vue 脚手架 图片预加载

    $('.back-img').onload =function(){ var img =new Image(); img.src = '../assets/dt-bj.png'; } 该组件内的图片加 ...

  7. java数据结构----图

    1.图:.在计算机程序设计中,图是最常用的数据结构之一.对于存储一般的数据问题,一般用不到图.但对于某些(特别是一些有趣的问题),图是必不可少的.图是一种与树有些相像的数据结构,从数学意义上来讲,树是 ...

  8. 捕获异常try-catch-finally

    异常分类 try-carch-finally出现规则 return关键字的使用 finally中慎用return,虽然语法上没错,但是由于finally的强制执行,影响逻辑上需要return的值 pa ...

  9. 最短路之SPFA(单源)HDU 2066

    #include "iostream" #include "cstdio" #include "queue" #include <cs ...

  10. Qt 进程和线程之一:运行一个进程和进程间通信

    Qt提供了对进程和线程的支持.本节讲述了怎样在Qt应用程序中启动一个进程,以及几种常用的进程间通信方法.如果对进程和线程的概念不是很了解,可以看我的另一篇博客:[多进程和多线程的概念. 设计应用程序时 ...