OpenCV2:总结篇 core模块
一.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模块的更多相关文章
- Spring第三篇【Core模块之对象依赖】
前言 在Spring的第二篇中主要讲解了Spring Core模块的使用IOC容器创建对象的问题,Spring Core模块主要是解决对象的创建和对象之间的依赖关系,因此本博文主要讲解如何使用IOC容 ...
- Spring第二篇【Core模块之快速入门、bean创建细节、创建对象】
前言 上篇Spring博文主要引出了为啥我们需要使用Spring框架,以及大致了解了Spring是分为六大模块的-.本博文主要讲解Spring的core模块! 搭建配置环境 引入jar包 本博文主要是 ...
- 移动商城第三篇【搭建Mybatis和Spring环境、编写Dao、Service在Core模块】
Mybatis和Spring环境搭建 由于我们的所编写的dao层.service代码可能前台和后台都需要用到的,因此我们把环境搭建在core模块中 逆向工程 首先,我们要做的就是品牌管理,我们首先来看 ...
- Orchard详解--第八篇 拓展模块及引用的预处理
从上一篇可以看出Orchard在处理拓展模块时主要有两个组件,一个是Folder另一个是Loader,前者用于搜索后者用于加载. 其中Folder一共有三个:Module Folder.Core Fo ...
- Orchard详解--第七篇 拓展模块(译)
Orchard作为一个组件化的CMS,它能够在运行时加载任意模块. Orchard和其它ASP.NET MVC应用一样,支持通过Visual Studio来加载已经编译为程序集的模块,且它还提供了自定 ...
- ASP.NET Core模块概述
原文地址:ASP.NET Core Module overview By Tom Dykstra, Rick Strahl, and Chris Ross ASP.NET Core模块(ANCM)让你 ...
- 转:OSGi 入门篇:模块层
OSGi 入门篇:模块层 1 什么是模块化 模块层是OSGi框架中最基础的一部分,其中Java的模块化特性在这一层得到了很好的实现.但是这种实现与Java本身现有的一些模块化特性又有明显的不同. 本文 ...
- Spring之Core模块
Core模块主要的功能是实现了控制反转与依赖注入.Bean配置以及加载.Core模块中有Beans.BeanFactory.BeanDefinitions.ApplicationContext等概念 ...
- ASP.NET Core 2.2 基础知识(十一) ASP.NET Core 模块
ASP.NET Core 应用与进程内的 HTTP 服务器实现一起运行.该服务器实现侦听 HTTP 请求,并在一系列请求功能被写到 HttpContext 时,将这些请求展现到应用中. ASP.NET ...
随机推荐
- 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, ...
- 在 UIViewController 中手动增加 TableView 出现 Type 'SomeViewController' does not confirm to protocol 'UITableViewDataSource' 问题的解决办法
许多时候我们都有在普通的继承自 UIViewController 的控制器中使用 TableView 的需求,这时候就需要当前控制器类继承 UITableViewDelegate 和 UITableV ...
- NOIP 2006 T2 金明的预算方案
题目描述 金明今天很开心,家里购置的新房就要领钥匙了,新房里有一间金明自己专用的很宽敞的房间.更让他高兴的是,妈妈昨天对他说:“你的房间需要购买哪些物品,怎么布置,你说了算,只要不超过NN元钱就行”. ...
- java面试基础问题
1.一个".java"源文件中是否可以包括多个类(不是内部类)?有什么限制? 可以有多个类,但只能有一个public的类,并且public的类名必须与文件名相一致. 2.Java有 ...
- 「开源」SpringCloud+vue搭建的商城项目
最近在研究SpringCloud,看到一个基于SpringCloud+vue搭建的模拟商城项目.用来辅助学习SpringCloud企业级开发还是很有帮助的.强烈推荐!! 源码地址在最后. spring ...
- vue 脚手架 图片预加载
$('.back-img').onload =function(){ var img =new Image(); img.src = '../assets/dt-bj.png'; } 该组件内的图片加 ...
- java数据结构----图
1.图:.在计算机程序设计中,图是最常用的数据结构之一.对于存储一般的数据问题,一般用不到图.但对于某些(特别是一些有趣的问题),图是必不可少的.图是一种与树有些相像的数据结构,从数学意义上来讲,树是 ...
- 捕获异常try-catch-finally
异常分类 try-carch-finally出现规则 return关键字的使用 finally中慎用return,虽然语法上没错,但是由于finally的强制执行,影响逻辑上需要return的值 pa ...
- 最短路之SPFA(单源)HDU 2066
#include "iostream" #include "cstdio" #include "queue" #include <cs ...
- Qt 进程和线程之一:运行一个进程和进程间通信
Qt提供了对进程和线程的支持.本节讲述了怎样在Qt应用程序中启动一个进程,以及几种常用的进程间通信方法.如果对进程和线程的概念不是很了解,可以看我的另一篇博客:[多进程和多线程的概念. 设计应用程序时 ...