为了细致掌握程明明CVPR 2014 oral文章:BING: Binarized Normed Gradients for Objectness Estimation at 300fps的代码,的好好学习opencv库啊,从基础走起。

(1)CV_Assert函数作用:

CV_Assert()若括号里的表达式值为false。则返回一个错误信息。

(2)Mat使用方法

1、使用准备:

 using  namespace  cv;



2、Mat的声明



Mat m=Mat(rows, cols, type);

Mat m=Mat(Size(width,height), type);

Mat A=Mat(3,4,CV_32FC1);

Mat B=Mat(4,3,CV_32FC1);



3、Mat赋值



vector<Point3f>v;//suppose it is already full

Mat m1=Mat(v,true);//boolean value true is necessary in order to copy data from v to m1

CvMat *p1;

Mat m2=Mat(p1);



4、Mat之间运算



MatC=2*A*B;



Mat C=C.inv();//Now C is its own inverse matrix



Mat D=A.t();//D is the transposed matrix of A



Mat a=Mat(4,1, CV_32FC3);//a is 4x1, 3 channels



Mat b=a.reshape(1);//b is 4x3, 1 channel





5、单通道Mat元素读写



Mat a=Mat(4,3, CV_32FC1);

floatelem_a=a.at<float>(i,j);//access element aij, with i from 0 to rows-1 and j from 0 to cols-1

Point p=Point(x,y);

floatelem_a=a.at<float>(p);//Warning: y ranges from 0 to rows-1 and x from 0 to cols-1





6、多通道Mat元素读写



template<typename _Tp> _Tp& at(int y,int x);              // cxcore.hpp (868)

template<typename _Tp>const _Tp& at(int y,int x)const;    // cxcore.hpp (870)

template<typename _Tp> _Tp& at(Point pt); // cxcore.hpp (869)

template<typename _Tp>const _Tp& at(Point pt)const;       // cxcore.hpp (871)

// defineded in cxmat.hpp (454-468)

typedefVec<float,2>Vec2f;// cxcore.hpp (254)



// we can access the element like this :

Mat m(Size(3,3), CV_32FC2 );

Vec2f& elem = m.at<Vec2f>( row , col );// or m.at<Vec2f>( Point(col,row) );

elem[0]=1212.0f;

elem[1]=326.0f;

float c1 = m.at<Vec2f>( row , col )[0];// or m.at<Vec2f>( Point(col,row) );

float c2 = m.at<Vec2f>( row , col )[1];

m.at<Vec2f>( row, col )[0]=1986.0f;

m.at<Vec2f>( row, col )[1]=326.0f;





7.选取Mat上指定区域方法





Mat src; Rect rect;

Mat dst = src(rect); 或者Mat dst(src,rect);



注意:cv::Mat A;



A.row(i) = A.row(j); // 错误

A.row(i) = A.row(j) + 0; // 正确

opencv基础笔记(1)的更多相关文章

  1. OpenCV 基础笔记

    本文大部分内容来源于入门者的Python快速教程 - 番外篇之Python-OpenCV 本篇将介绍和深度学习数据处理阶段最相关的基础使用,并完成4个有趣实用的小例子: 延时摄影小程序 视频中截屏采样 ...

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

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

  3. paper 93:OpenCV学习笔记大集锦

    整理了我所了解的有关OpenCV的学习笔记.原理分析.使用例程等相关的博文.排序不分先后,随机整理的.如果有好的资源,也欢迎介绍和分享. 1:OpenCV学习笔记 作者:CSDN数量:55篇博文网址: ...

  4. (转) OpenCV学习笔记大集锦 与 图像视觉博客资源2之MIT斯坦福CMU

          首页 视界智尚 算法技术 每日技术 来打我呀 注册     OpenCV学习笔记大集锦 整理了我所了解的有关OpenCV的学习笔记.原理分析.使用例程等相关的博文.排序不分先后,随机整理的 ...

  5. OpenCV学习笔记(27)KAZE 算法原理与源码分析(一)非线性扩散滤波

    http://blog.csdn.net/chenyusiyuan/article/details/8710462 OpenCV学习笔记(27)KAZE 算法原理与源码分析(一)非线性扩散滤波 201 ...

  6. OpenCV 学习笔记 02 使用opencv处理图像

    1 不同色彩空间的转换 opencv 中有数百种关于不同色彩空间的转换方法,但常用的有三种色彩空间:灰度.BRG.HSV(Hue-Saturation-Value) 灰度 - 灰度色彩空间是通过去除彩 ...

  7. opencv 学习笔记集锦

    整理了我所了解的有关OpenCV的学习笔记.原理分析.使用例程等相关的博文.排序不分先后,随机整理的.如果有好的资源,也欢迎介绍和分享. 1:OpenCV学习笔记 作者:CSDN数量:55篇博文网址: ...

  8. OpenCV学习笔记 笔记汇总

    转载来源:https://www.cnblogs.com/tonyc/p/6407318.html 今后开始学习OpenCV   1:OpenCV学习笔记 作者:CSDN数量:55篇博文网址:http ...

  9. OpenCV开发笔记(六十五):红胖子8分钟带你深入了解ORB特征点(图文并茂+浅显易懂+程序源码)

    若该文为原创文章,未经允许不得转载原博主博客地址:https://blog.csdn.net/qq21497936原博主博客导航:https://blog.csdn.net/qq21497936/ar ...

随机推荐

  1. 解决idea开启tomcat报Configuration Error: deployment source 'xxx:war exploded' is not valid错

    这个问题比较棘手, 出错了的时候Tomcat服务器不能正常运行, 导致网页无法打开, 小组成员都说"Tomcat炸了"! 好在这个这个xml配置文件是自动生成的,重新生成一下就好了 ...

  2. 入门迅速、应用广泛、月薪两万,马哥Python前景为什么这么好?

    随着Python的技术的流行,Python在为人们带来工作与生活上带来了很多的便捷,因为Python简单,学起来快,也是不少新手程序员入门的首选语言.新手们比较关心的就是Python的发展前景与方向. ...

  3. zeng studio的项目窗口PHP Explorer

    恢复zeng studio的项目窗口PHP Explorer方法: Windows>show view >PHP Explorer

  4. HashMap、ConcurrentHashMap以及HashTable(面试向)

    ---->HashMap 在java1.7中,hashmap的数据结构是基于数组+链表的结构,即我们比较熟悉的Entry数组,其包含的(key-value)键值对的形式.在多线程环境下,Hash ...

  5. vue开发--生成token并保存到本地存储中

    首先回顾一下token:token认证是RESTFUL.api的一个很重要的部分,通过token认证和token设置,后端会有一个接口传给前台: http://localhost/yiiserver/ ...

  6. (十)python3 生成器

    生成器(generator):在 Python 中,不必创建完整的 list,从而节省大量的空间.一边循环一边计算的机制. 创建一个 generator,有很多种方法.第一种方法很简单,只要把一个列表 ...

  7. auto_ptr 实现

    #ifndef MYAUTOPTR_H #define MYAUTOPTR_H template<typename _T> class MyAutoPtr { private: _T* _ ...

  8. C++迭代器之'插入迭代器

    1. 定义 插入型迭代器(Insert Iterator),又叫插入器(Inserter). 2. 作用 插入迭代器的主要功能为把一个赋值操作转换为把相应的值插入容器的操作.算法库对所有在容器上的操作 ...

  9. ECNU 3260 袋鼠妈妈找孩子(dfs)

    链接:http://acm.ecnu.edu.cn/problem/3260/ 题意: 给出一个x,y,k.求从左上角到(x,y)最短路径不少于k而且最快到达(x,y)的迷宫.(迷宫有多个 输出其中一 ...

  10. java实现扫二维码登录功能

    哈哈哈 http://blog.sina.com.cn/s/blog_7f416edf0102vb8h.html http://blog.sina.com.cn/s/blog_7f416edf0102 ...