下载安装就不说了,很简单,这里只说一下如何导入库文件。其实可以把文件直接编译到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对象,且必须保证该地址存在。