opencv1-安装及资料
本科用过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-安装及资料的更多相关文章
- 一、tars简单介绍 二、tars 安装部署资料准备
1.github地址https://github.com/Tencent/Tars/ 2.tars是RPC开发框架,目前支持c++,java,nodejs,php 3.tars 在腾讯内部已经使用了快 ...
- Altium Designer入门学习笔记1.软件安装与资料收集
一.软件安装 微信:http://url.cn/5Eudzt9 关注微信公众号"软件安装管家",点击"软件目录",弹出"软件目录",点击进入 ...
- Asp.netCore之安装centos7 资料收集
虚拟机的安装和centos的安装看博友的文章:https://www.cnblogs.com/zhaopei/p/netcore.html ifconfig 在centons中用终端写命令比较费劲,可 ...
- android 静默安装 卸载 资料汇总
1. android + eclipse + 后台静默安装(一看就会) 2. 适用于android1.5以下版本apk静默安装 3. error: INSTALL_FAILED_SHARED_USER ...
- Ant, JUnit以及Sonar的安装+入门资料
Ant 感觉是个和Make/Grunt类似的东东,build一个项目用的.安装很容易,跟装JDK类似,就是解压->设环境变量->没了.注意装之前要先确认Java装好了(有点废话). 下载地 ...
- [树莓派(raspberry pi)] 01、在linux环境下给树莓派安装系统及入门各种资料
1.预准备 进入帮助页面https://www.raspberrypi.org/help/,可以直接看到GET START WITH PASPBERRY PI,点击进入: 接下来会引导你检查配件是否齐 ...
- 我的MySQL5.6免安装版配置过程
最近打算学习MySQL,第一步就是安装.下载到一个面安装版.解压到我的D盘的mysql目录. 弄了一个最简单的配置文件.目录中只有一个my-default.ini,基本没啥用.在网上弄了一个my.in ...
- 在VS2012下不安装VS2010编译VS2010的工程
虽然一路追随这VISUAL SUTDIO在编程,但是断档的情况还是有的,最近一次硬盘问题使得安装了所有的VS2003-VS2012的机器硬盘挂了,无奈只能够安装了,不过觉得没啥用了,就安装一个VS20 ...
- ubuntu下安装JDK详解
码农博客 即将到期,现将博客中部分文章转载到博客园.本文发表与2012年,转载时略有删减 安装JDK其实只要搞定两个问题,安装目录以及配置文件.如果你只想要快速安装JDK,请略过此部分直接看安装篇. ...
- Joomla安装图文教程 (送 Joomla 中文语言包)
1.首先 下载 Joomla 源程序 首页: http://www.joomla.org/download.html 下载: download 2.为论坛 创建数据库.进入cPanel面板,选择my ...
随机推荐
- 简述MVC框架模式以及在你(Android)项目中的应用
标题是阿里电话面试的问题,一直以为自己很清楚MVC模式,结果被问到时,居然没法将MVC和Android中各个组件对应起来,所以,面试肯定挂了,不过面试也是学习的一种方式,可以知道大公司看中什么,以及自 ...
- 用CSS3实现背景的固定
今天放假了,正好最近养成了没事泡泡博客园的习惯,自己也有了博客..不得不吐槽一下博客园为什么页面这么古朴,,带的几个模版也没啥意思,反正不符合我口味,幸亏后台提供了编辑CSS的功能,于是我就搬来现有的 ...
- cdh集群数据恢复
CDH 数据库 磁盘坏了 所有集群配置 都没了 而且 还没备份 .... 元数据 还在 cdh 软件配置 和 安装软件 不能用了 下载 apache hadoop 重新配置 ...
- SSRS 的简单使用(一)
简介 SQL Server Reporting Services(SSRS),微软企业级报表平台,和SQL Server Integration Service以及SQL Server Analysi ...
- C#正则表达式开源工具,为.net开源绵尽薄力
先交代一下背景,最近工作中经常用到正则表达式,而正则表达式这个东西我个人觉得很鸡肋,不用吧,有些功能实现起来会很麻烦.用吧,又不是说工作中经常用到,只是有时候有些需要求用到而已.但是正则表达式只要一段 ...
- ZIP打包解包
linux zip命令的基本用法是: zip [参数] [打包后的文件名] [打包的目录路径] linux zip命令参数列表: -a 将文件转成ASCII模式-F 尝试修复损坏的压缩文件-h 显示帮 ...
- proteus怎么仿真?
加入hex 文件 双击 单片机芯片 AT89C51 弹出对话框,选择好 用keil 编译好的 hex 文件,晶振 12 即可. 运行
- Bootstrap学习(3)
Bootstrap 图片 Bootstrap 对图片的支持.Bootstrap 提供了三个可对图片应用简单样式的 class: .img-rounded:添加 border-radius:6px 来 ...
- linux线程同步(4)-自旋锁
自旋锁与互斥量功能一样,唯一一点不同的就是互斥量阻塞后休眠让出cpu,而自旋锁阻塞后不会让出cpu,会一直忙等待,直到得到锁!!! 自旋锁在用户态使用的比较少,在内核使用的比较多!自旋锁的使用场景:锁 ...
- codeforces118D. Caesar's Legions
地址:http://www.codeforces.com/problemset/problem/118/D 题目: Gaius Julius Caesar, a famous general, lov ...