本科用过opencv2..3.1版本,当时按照 http://wiki.opencv.org.cn/index.php/首页 上面的步骤安装的,而且使用的是IplImage和CvMat等C接口的的API。处理了个镇江市交通局的视频中的车辆位置提取的项目(跟着导师干),当时觉得很重要,恩 也就仅限很重要。

现在重新审视OpenCV觉得很好的东西,实在不行都能够自己没事写程序玩。

正文

采用Opencv2.4.10版本。因为最新的OpenCV是3.0的虽然有了alpha版本和beta版本,但是觉得还是不太稳定,过几个月在用好了。

        本人安装环境win8.1 企业版+VS2013+opencv2.4.10:直接使用build和使用cmake方法都尝试过。

         其实opencv中就两个文件夹 一个build 一个sources,第一个是人家opencv小组帮咱预编译了下,第二个是人家原本的部分,所以偷懒的使用第一个。

参考自 http://www.cnblogs.com/freedomshe/archive/2012/04/25/2470540.html

所以安装部分就不重复造轮子了。关键的几点:在选择是x64 还是x86,这个虽然是看系统的,但是还是取决于编译器的编译版本。虽然在64位上运行32位无压力,但是相反就有问题。所以如果 虽然是64位系统,但是因为vs编译器默认就是win32位下编译的,对于初学者还是只添加32位的lib,dll什么的就好,不然 万一搜索到所需要的dll(比如把搜索路径中64的排在86的前面),发现不是所需要的版本,那么编译器就报错。

不过按照上面推荐的博客中的方法在安装完之后会有几个出问题的地方。

FAQ:1.对于只使用build连接的方法来说,使用例子程序的时候会出现imread的时候出错,通过断点发现imread读到了图像的大小但是其中的data却是没东西,这个被归结为库连接出现了问题。解决方法有:

(1)、按照推荐的安装会发现在debug的时候有可能会编译器去读取release版本的lib,问题参考:

http://www.cnblogs.com/eyeszjwang/articles/2418354.html “也就是在Debug模式下应该选择带'd'的lib,在Release模式下就选择不带'd'的lib。而实际我们在配置OpenCV环境的时候往往图方便将Debug和Release的目录都一起加了进去,再修改起来也比较麻烦。所以这时候最简单的办法就是在程序的开始加上:#pragma comment(lib,"opencv_highgui231d.lib")” 也就是想调用哪个版本的lib就使用哪个版本的就好。
个人测试结果:无效

              (2)、删除推荐博客中将所有的lib都放在一起的操作,只添加debug的lib。个人测试结果:无效

             (3)、曲折的方法使用cvLoadImage装载图片,使用cvReleaseImage释放图片,但是这种是在cpp中使用c接口,个人接受不了。

             (4)、参考http://bbs.csdn.net/topics/350004415 中的加载什么debug的dll。个人测试:无效





2:采用cmake的方法自己编译opencv/中的sources文件夹解决1中的问题。 参考自

http://www.cnblogs.com/freedomshe/archive/2013/01/11/win7_vs2012_opencv_rebuild.html

这样可以调试的时候自己断点进入人家opencv的源码级别部分。不过也有问题见下面的3。

在下载cmake的时候发现这个cmake只有32位的版本(当时还说怎么没64位的呢,不过是多想了)在使用cmake进行编译的时候需要添加一个新的文件夹路径(一定不要中文路径)其实这里发现原来的build就是opencv小组帮咱预编译了的,而且这里按照推荐的博客中的方法 发现生成了6g多的文件,通过简单的清理解决方案的方法的确剩到最后200m(可是人家说会剩下3g的,我了个去的,也许就是这一步导致下面的问题3,如果硬盘够大,那么到这部就终止就行)





3:通过2中的推荐的方法成功的cmake了,然后按照里面的方法加了新的dll和lib等路径和并在编译器中只添加了debug的lib(暂时用不到release版本)。当屁颠屁颠的调试opencv源码级别的代码时发现显示某些pdb模块不存在。这时候两个方法:





(1)打开微软符号服务器下载所需符号,参考:http://www.tuicool.com/articles/R3EBF3M。不过这个只是下载微软的不是opencv的。

(2).其实细心的人就会发现在 \opencv\build\x86\vc12\staticlib,下面就有附带的pdb,只要把这个文件夹路径加到系统的环境变量就行(我这是x86的版本,而且这里的路径就是解压opencv中的两个文件夹中的build的文件夹)。 这个方法不行,因为对应编译的dll要对应的pdb,想要真正进入源码,记得执行清理解决方案那个步骤的时候不要把pdb清理了。





资料:1、《OpenCV教程——基础篇》和《学习OPencv》   

 2、《mastering opencv with practical computer vision》

3、《opencv 2 computer vision application programming cookbook》

4、《opencv2计算机视觉编程手册》

5、《基于OpenCV的计算机视觉技术实现》

6、官方文档

相比较来说,1的是基于c接口的,显得老旧了些,从官方文档就能看出其中的c的不足,推荐使用cpp接口的(作者是大神,这就不评论了,只是书的内容不适合我,个人喜欢cpp)。

    2和3是老外12年和13年出的书,还是很好的。不过觉得比较适合有个基础的底子的时候,其中还有介绍在ipad和android上的编程,很是不错。

   4.这一两年刚出来的,评价很不错,而且网上没有电子版,只有去买纸质版。5是08年出版的,略老了。

学习:其实觉得最好的入门学习版本我觉得应该是官方文档。特别是看下面论坛部分中2的网站,其中还有部分的中文翻译版本。官方文档在下载opencv的时候就出现在里面了,2.4.10的是在opencv\build\doc 部分。因为不同版本 它的位置会变,但是一定自带了。其中有《opencv_tutorials》可以入门。还有《opencv2refman》可以查api。在对照着前面的入门和下面论坛2中的部分翻译,一起学习。

在opencv\sources\samples中有不同平台、接口的例子代码。粗略了看了下cpp的例子最多。

×××说到opencv的真正源码,在opencv\sources\modules\core\src里面,这里中那个core就是对应不同的文件夹,在每个文件夹的src中就是源代码了。暂时说有超过20w行 一共。

论坛:1、http://wiki.opencv.org.cn/index.php/首页 是老站

2、http://www.opencv.org.cn/forum.php?mod=forumdisplay&fid=1&page=1新站

3、http://opencv.org/ 是opencv主站,源代码放在sourceforge开源网站上。

4、http://52coding.com/opencv 这个还是不错的,不过没怎么关注,但是进去了,一定会有收获。下一步就打算进去看看。

opencv1-安装及资料的更多相关文章

  1. 一、tars简单介绍 二、tars 安装部署资料准备

    1.github地址https://github.com/Tencent/Tars/ 2.tars是RPC开发框架,目前支持c++,java,nodejs,php 3.tars 在腾讯内部已经使用了快 ...

  2. Altium Designer入门学习笔记1.软件安装与资料收集

    一.软件安装 微信:http://url.cn/5Eudzt9 关注微信公众号"软件安装管家",点击"软件目录",弹出"软件目录",点击进入 ...

  3. Asp.netCore之安装centos7 资料收集

    虚拟机的安装和centos的安装看博友的文章:https://www.cnblogs.com/zhaopei/p/netcore.html ifconfig 在centons中用终端写命令比较费劲,可 ...

  4. android 静默安装 卸载 资料汇总

    1. android + eclipse + 后台静默安装(一看就会) 2. 适用于android1.5以下版本apk静默安装 3. error: INSTALL_FAILED_SHARED_USER ...

  5. Ant, JUnit以及Sonar的安装+入门资料

    Ant 感觉是个和Make/Grunt类似的东东,build一个项目用的.安装很容易,跟装JDK类似,就是解压->设环境变量->没了.注意装之前要先确认Java装好了(有点废话). 下载地 ...

  6. [树莓派(raspberry pi)] 01、在linux环境下给树莓派安装系统及入门各种资料

    1.预准备 进入帮助页面https://www.raspberrypi.org/help/,可以直接看到GET START WITH PASPBERRY PI,点击进入: 接下来会引导你检查配件是否齐 ...

  7. 我的MySQL5.6免安装版配置过程

    最近打算学习MySQL,第一步就是安装.下载到一个面安装版.解压到我的D盘的mysql目录. 弄了一个最简单的配置文件.目录中只有一个my-default.ini,基本没啥用.在网上弄了一个my.in ...

  8. 在VS2012下不安装VS2010编译VS2010的工程

    虽然一路追随这VISUAL SUTDIO在编程,但是断档的情况还是有的,最近一次硬盘问题使得安装了所有的VS2003-VS2012的机器硬盘挂了,无奈只能够安装了,不过觉得没啥用了,就安装一个VS20 ...

  9. ubuntu下安装JDK详解

    码农博客 即将到期,现将博客中部分文章转载到博客园.本文发表与2012年,转载时略有删减 安装JDK其实只要搞定两个问题,安装目录以及配置文件.如果你只想要快速安装JDK,请略过此部分直接看安装篇. ...

  10. Joomla安装图文教程 (送 Joomla 中文语言包)

    1.首先 下载 Joomla  源程序 首页: http://www.joomla.org/download.html 下载: download 2.为论坛 创建数据库.进入cPanel面板,选择my ...

随机推荐

  1. 深入解析Windows操作系统笔记——CH1概念和术语

    1.概念和工具 本章主要介绍Windows操作系统的关键概念和术语 1.概念和工具 1.1操作系统版本 1.2基础概念和术语 1.2.1Windows API 1.2.2 服务.函数和例程 1.2.3 ...

  2. apache如何设置http自动跳转到https

    如何设置http自动跳转到https?apache环境下,配置好https后,需要设置url重定向规则,使网站页面的http访问都自动转到https访问. 1.先打开url重定向支持1)打开Apach ...

  3. CStdioFile CString 读写中文

    TCHAR* old_locale = _tcsdup( _tsetlocale(LC_CTYPE,NULL) ); _tsetlocale( LC_CTYPE, _T("chs" ...

  4. 设计模式C#实现(十二)——装饰模式

    意图 0 适用性 1 结构 2 实现 3 效果 4 参考 5 意图 动态的给一个对象添加一些额外的职责. 适用性 动态的为单个对象添加职责而不影响其他对象 处理那些可以撤销的职责(? 在某些功能不需要 ...

  5. pwd, cd, ls, touch, mkdir, rmdir, rm

    学习Shell命令最好的资料当然的是$man, 绝对是查找命令的第一大杀器,但是我们有时只是想实现某个功能,甚至连这个命令是什么都不知道,又或者不想淹没在man里大段大段的英文里,大家可以参考Linu ...

  6. 大话设计模式C++版——原则和引言

    转贴请注明转自:http://blog.csdn.net/gufeng99/article/details/45832711 读程杰的<大话设计模式>有一段时间了,将其C#版的设计模式代码 ...

  7. [转]NopCommerce 多数据库方案

    本文转自:http://www.cnblogs.com/YUTOUYUWEI/p/5538200.html 有时候一个项目需要连接多个数据库,以实现不同数据库的数据在同个项目的共享. 如果已经安装了n ...

  8. 用PS设计等高线效果的背景图片

    有些简单的单网页,如果利用等高线效果的背景图片,再配合合适的背景色,能达到绚丽的效果.如下图所示: 本文就介绍该等高线效果的背景图片是如何制作的.Follow Me!!!! 1.新建文档,尺寸:100 ...

  9. 广州APP开发外包公司哪家比较好?广州达到信息技术有限公司技术到底怎么样?

        广州APP开发公司哪家比较好,广州手机APP软件开发公司广州达到信息表示:用户的刚性需求是公司使用手机APP软件盈利的根本前提和基础,所以开发一款手机APP应用时必须从客户的角度来思考.因此公 ...

  10. (四)装饰模式-C++实现

    动态地给对象添加一些额外的职责.就功能来说,装饰模式相比派生子类更为灵活. 当需要改进类的某个功能,而不是该类创建的全部对象时,可以使用这种设计模式. 装饰模式中有四种角色; 1.抽象组件:我们需要改 ...