opencv使用日记之一:平台搭建Mat类以及图像的读取修改
来源:互联网 发布:内帐软件 编辑:程序博客网 时间:2024/05/21 17:59
下载安装就不说了,很简单,这里只说一下如何导入库文件。其实可以把文件直接编译到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类以及图像的读取修改
- 【opencv】 图像的创建,读取,显示 IplImage,Mat类型转化
- opencv图像读取和cv::Mat
- Opencv Mat 类详解以及像素点基本读取方法
- opencv Mat - 图像的容器
- Opencv Mat的数据读取
- [opencv]Mat类图像遍历
- python-opencv(cv2) 之一 图像的简单读取
- opencv篇之一 图像的读取和显示
- 读取、修改、保存图像---opencv
- OpenCV 读取、修改、保存图像
- OpenCV的读取图像使用注意事项
- OpenCV:使用VideoCapture类进行视频读取和显示-Mat
- 【学习opencv】opencv中遍历图像以及Mat类变量解释
- OpenCV中Mat类的图像如何设置ROI
- openCV中Mat类的图像如何设置ROI
- OpenCV中Mat类的图像如何设置ROI
- OpenCV中Mat类的图像如何设置ROI
- 位扩展和位截断
- uiautomator开发使用到引用外部jar,导致编译失败的解决方案
- 整数运算(加减乘除的底层操作)
- 浮点数的表示
- 2016这些Android技术会很火
- opencv使用日记之一:平台搭建Mat类以及图像的读取修改
- Java中23中设计模式
- 读书笔记jvm探秘之一:内存概况
- 通过使用Byte Buddy,便捷地创建Java Agent
- 读书笔记jvm探秘之二: 对象创建
- jvm探秘之三:GC初步
- spring入门之ContextLoadListener
- 快速排序算法(C)
- 二叉排序树第一版