平台搭建就摸了一整天时间,真的是、、、不说了,最后我选择的是 opencv3.0(2015/06/04)  + win7 + vs2012   注意opencv的版本不同导入的库文件是不一样的,所以请慎重选择版本!

下载安装就不说了,很简单,这里只说一下如何导入库文件。其实可以把文件直接编译到minGW里去,可是奈何总是出错不得不作罢。所以还是老老实实导入吧,opencv有两个文件夹,这里只会用到build这个,首先打开build/x86/vc11/lib 和   build/x86/vc11/staticlib  (注意:86对应32位程序 64对应64位程序, vc11对应vs2012 vc12对应vs2013), 这两个文件夹下有很多的库文件(后缀名是.lib的) 找笔找纸(总之随便你怎么干) 把文件名全部记下来包括后缀名,这里需要注意把,把名字以d结尾的和非d结尾的分开写,对应不同的开发版本,就像这样:

打开VS,新建一个win32控制台应用程序,右击项目名称,在弹出来的菜单中选择属性,首先左上角配置选项卡选择DEBUG,在右侧配置属性中选择vc++目录,然后看右边,选择包含目录点击编辑它,加入这三个路径 E:\windows opencv\opencv\build\include;E:\windows opencv\opencv\build\include\opencv;E:\windows opencv\opencv\build\include\opencv2;确定后,再选择库目录点击编辑它,加入这两个路径E:\windows opencv\opencv\build\x86\vc11\lib;E:\windows opencv\opencv\build\x86\vc11\staticlib;然后再看左边选择连接器(linker)下的输入(input),同样编辑右边,把刚才记下来的那两堆文件名中以d结尾的都复制进去,确定。下一步,再看左上角配置选项卡选择release,然后重复一遍上述步骤,注意,这次复制的文件名不是以d结尾的,确定,至此结束。

Mat类,简单地说就是存储图像的类,图像在计算机中都是用矩阵维护的,矩阵的每个点称为一个像素点,像素点可以是单通道(一个数),双通道(两)抑或三通道,每个通道的像素值可以一个char,double,int都可以,这决定了所表示颜色的种类,其实char就不错了(0-255),当然这决定了图像的显示效果,越精细的图像对数值越高。

具体的使用可以去 opencv中文论坛的中文教程 看,写的很明白。

读取图片函数 imread();

函数原型如下  Mat imread(const string& filename, int flags=1 )

第一个参数当然是文件路径,第二个参数决定你想如何读入图片,1代表正常读入,很简单。不过在使用的时候发生了一个很奇葩的错误,无法识别这个函数,开始以为是头文件写错了,可以看了好多代码都是这么写的(highgui.h),可我的就是错的,没办法只能去找这个头文件打开看看了,然后发现这个文件里面居然没有包含 highgui.hpp(imread是写在这个文件里的)这个文件! 把这个头文件填上就好了=。=  好点背有木有。

复制图片函数 cvtColor();

函数原型如下 void cvtColor(InputArray src, OutputArray dst, int code, int dstCn=0 )

第一个参数就是源图片的Mat对象,第二个是目标图片的mat对象,第三个参数表示以什么样的颜色格式复制,最后一个默认。他同样需要导入头文件imgproc.hpp。

写入图片函数   imwrite();

函数原型如下  bool imwrite(const string& filename, InputArray image, const vector<int>& params=vector<int>())

随便找个地方下入一下,传入前两个参数就够了,地址+mat对象,且必须保证该地址存在。

opencv使用日记之一:平台搭建Mat类以及图像的读取修改的更多相关文章

  1. OPENCV mat类

    OpenCV参考手册之Mat类详解 目标 我们有多种方法可以获得从现实世界的数字图像:数码相机.扫描仪.计算机体层摄影或磁共振成像就是其中的几种.在每种情况下我们(人类)看到了什么是图像.但是,转换图 ...

  2. 搭建基于python +opencv+Beautifulsoup+Neurolab机器学习平台

    搭建基于python +opencv+Beautifulsoup+Neurolab机器学习平台 By 子敬叔叔 最近在学习麦好的<机器学习实践指南案例应用解析第二版>,在安装学习环境的时候 ...

  3. OpenCV 之 Mat 类

    以前看 OpenCV 的书,或者资料也好,遇到 Mat 类的介绍,一般都是匆匆带过,自以为已经很熟悉了,从来没有深入研究过. 结果前段时间面试了一家公司,被问到两个 Mat 的问题:一是,谈谈对 Ma ...

  4. 图像识别与OpenCV——Mat类与Mat_类的内存管理

    Mat_类是对Mat类的一个包装,其定义如下: template<typename _Tp> class Mat_ : public Mat { public: //只定义了几个方法 // ...

  5. 如何将OpenCV中的Mat类绑定为OpenGL中的纹理

    https://blog.csdn.net/TTTTzTTTT/article/details/53456324 如果要调用外接的USB摄像头获取图像通常使用OpenCV来调用,如何调用摄像头请参考本 ...

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

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

  7. opencv中mat类介绍

    The class Mat represents an n-dimensional dense numerical single-channel or multi-channel array. It ...

  8. OpenCV参考手册之Mat类详解

    OpenCV参考手册之Mat类详解(一) OpenCV参考手册之Mat类详解(二) OpenCV参考手册之Mat类详解(三)

  9. openCV学习——一、Mat类

    一.Mat数据类型 在以下两个场景中使用 OpenCV 时,我们必须事先知道矩阵元素的数据类型: 使用 at 方法访问数据元素的时候要指明数据类型 做数值运算的时候,比如究竟是整数除法还是浮点数除法. ...

随机推荐

  1. bootstrapTable的数据后端分页排序

    数据后端分页排序,其实就是sql语句中oeder by做一些限制. 之前在写sql语句中的order by是写死,既然要写活,就要传参数到后台. 之前讲到bootstrapTable的queryPar ...

  2. SSM整合笔记

    SSM整合笔记 1,创建maven项目 创建maven项目过程省略 ps:如果创建完maven项目之后项目报错,可能是没有配置Tomcat 2,在pom.xml里面导入相应的jar的依赖 <pr ...

  3. SpringBoot集成mybatis和mybatis generator

    利用搭建的基本的spring boot框架,集成 mybatis + generator 1.设置 maven 的相关配置: File  - setting - maven 设置 Maven home ...

  4. Grafana 安装使用

    Grafana 安装使用 官方网址:https://grafana.com/ 官方文档:http://docs.grafana.org/ 安装 grafana 基于 RPM 的系统(CentOS,Fe ...

  5. MySQL访问

    MySQL访问 1.介绍 python访问mysql数据库,需要安装mysql的python插件. 2.安装插件 通过pip命令安装mysql插件. # cmd>pip install PyMy ...

  6. BZOJ 4541: [Hnoi2016]矿区 平面图转对偶图+DFS树

    4541: [Hnoi2016]矿区 Time Limit: 30 Sec  Memory Limit: 512 MBSubmit: 433  Solved: 182[Submit][Status][ ...

  7. linux 命令——6 rmdir(转)

    今天学习一下linux中命令: rmdir命令.rmdir是常用的命令,该命令的功能是删除空目录,一个目录被删除之前必须是空的.(注意,rm - r dir命令可代替rmdir,但是有很大危险性.)删 ...

  8. 理解MVC 框架

    前言:很多前端开发者面临着这样的问题,在项目开发中承担的工作越来越多,后端要做的越来越少,需要的技术棧越来越多,经常有人问你个技术是你完全不会的,对自己的职业生涯越来越怀疑.从前认为HTML+CSS+ ...

  9. 求最大公约数和最小公倍数_python

    """写两个函数,分别求两个整数的最大公约数和最小公倍数,调用这两个函数,并输出结果.两个整数由键盘输入.""" ''' 设两个整数u和v, ...

  10. form 表单 和 jQuery HTML / CSS 方法($().html 类似的样式)

    1 有关链接 :http://www.runoob.com/tags/tag-form.html https://www.cnblogs.com/Jxwz/p/4509618.html https:/ ...