实用图像处理入门 - 2 - Windows平台下编译openCV
标签中的部分
font-family: 华文细黑;
font-size: 26px;
font-weight: bold;
color: #611427;
margin-top:40px;
}
h2 { // 这对大括号里描述 标签中的部分
font-family: 华文细黑;
font-size: 20px;
font-weight: bold;
color: #611427;
margin-top:40px;
}
h3 { // 这对大括号里描述 标签中的部分
font-family: 华文细黑;
font-size: 16px;
font-weight: bold;
color: #611427;
}
h4 { // 这对大括号里描述 标签中的部分
font-family: 华文细黑;
font-size: 16px;
font-weight: bold;
color: #611427;
margin-top:20px;
}
h5 { // 这对大括号里描述 标签中的部分
font-family: 华文细黑;
font-size: 14px;
font-weight: bold;
color: #611427;
}
h6 { // 这对大括号里描述 标签中的部分
font-family: 华文细黑;
font-size: 12px;
font-weight: bold;
color: #611427;
}
h7 { // 这对大括号里描述 标签中的部分
font-family: 华文细黑;
font-size: 10px;
font-weight: bold;
color: #611427;
}
b,strong
{
color: #611427;
}
-->
- 作者: 知明所以 • Milo
- 博客: http://www.cnblogs.com/jhzhu
- 邮箱: jhzhuustc@gmail.com
- 日期: 2013年7月22日
1 环境准备
- Visual Studio 2012
- opencv 2.4+ ( 目前是2.4.6, 下载链接 ). ( 假设已安装完毕, opencv安装目录以下用 {opencv} 表示 )
- CMake ( 下载链接, 用来编译 opencv )
2 详细步骤
安装好 CMake 后, 在开始菜单里找到 CMake(cmake-gui) 打开.
如下设置:
位置1: 填写 opencv 的安装目录.
位置2: 填写你希望 build opencv 后的目标位置. 下文中用 {cvBuild} 表示.

填写好位置1和位置2后, 点击 位置3( Configure 按钮 ). 选择 Visual Studio 11 ( 针对 VS2012, 如果是其它版本, 选择对应的版本即可 )

点击位置4( 按钮 Generate ). 便可生成 opencv 项目.
完成后, 打开生成项目的目录( 上上图 位置2处 填写的目录 ). 双击 "OpenCV.sln”. 会启动 VS2012, 你会看到以下界面.

点击菜单栏 “BUILD –> Build Solution “ 开始构建整个解决方案.
构建过程可能需要比较长时间. 更可恨的是等这么长时间, 还得不到我们想要的结果: 会出现各种讨厌的 ERROR!

14胜 47负! 简直惨不忍睹. 查看输出日志, 发现罪恶的源头在这里:
|
1
|
9>D:\greenApps\opencvBuild2\3rdparty\zlib\zconf.h(449): fatal error C1083: Cannot open include file: 'unistd.h': No such file or directory |
google一下, 发现很多人都遇到这个问题. 解决方案 如下 ( 原文链接 ):
新建文件 unistd.h. 文件内容如下:
|
1
2
3
4
5
6
7
8
|
/** This file is part of the Mingw32 package.* unistd.h maps (roughly) to io.h*/#ifndef _UNISTD_H#define _UNISTD_H#include <io.h>#include <process.h>#endif /* _UNISTD_H */ |
把文件放到 {cvBuild}\3rdparty\zlib 里.
在 VS2012 里选择构件类型为“Release",如下图所示:

再次执行 “BUILD –> Build Solution”, 如果有某个Project构建”fiailed”, 重新构建即可.
打开 {cvBuild}/bin/Rlease 文件夹, 你会看到满满一屏的 *.dll 和 *.exe 文件就像丰收的果实一样带着挑逗的表情对你微笑~~~.
说多了都是累赘, 只有你自己亲自操作, 才能体会到满满的幸福:

实用图像处理入门 - 2 - Windows平台下编译openCV的更多相关文章
- Arduino可穿戴开发入门教程Windows平台下安装Arduino IDE
Arduino可穿戴开发入门教程Windows平台下安装Arduino IDE Windows平台下安装Arduino IDE Windows操作系统下可以使用安装向导和压缩包形式安装.下面详细讲解这 ...
- WebKit 在 Windows 平台下编译小结
虽然WebKit 已经越来越多的被广大程序员接受,但其编译过程却非常之痛苦.下面将我编译WebKit 代码的经验与大家分享. 1) 获取WebKit 源代码 WebKit 源代码是使用Subversi ...
- DevEco Device Tool 2.1 Beta1 的Hi3861在Windows平台的编译体验
DevEco Device Tool迎来了2.1 Beta1,其中的亮点之一是:支持Hi3861开发板的源码在Windows平台编译.带着浓厚的兴趣,第一时间做了一次体验. 首先在官网下载" ...
- windows平台下基于QT和OpenCV搭建图像处理平台
在之前的博客中,已经分别比较详细地阐述了"windows平台下基于VS和OpenCV"以及"Linux平台下基于QT和OpenCV"搭建图像处理框架,并 ...
- Windows平台下利用APM来做负载均衡方案 - 负载均衡(下)
概述 我们在上一篇Windows平台分布式架构实践 - 负载均衡中讨论了Windows平台下通过NLB(Network Load Balancer) 来实现网站的负载均衡,并且通过压力测试演示了它的效 ...
- windows平台下基于VisualStudio的Clang安装和配置
LLVM 是一个开源的编译器架构,它已经被成功应用到多个应用领域.Clang是 LLVM 的一个编译器前端,它目前支持 C, C++, Objective-C 以及 Objective-C++ 等编程 ...
- [转]Windows平台下安装Hadoop
1.安装JDK1.6或更高版本 官网下载JDK,安装时注意,最好不要安装到带有空格的路径名下,例如:Programe Files,否则在配置Hadoop的配置文件时会找不到JDK(按相关说法,配置文件 ...
- Windows平台下的内存泄漏检测
在C/C++中内存泄漏是一个不可避免的问题,很多新手甚至有许多老手也会犯这样的错误,下面说明一下在windows平台下如何检测内存泄漏. 在windows平台下内存泄漏检测的原理大致如下. 1. 在分 ...
- Windows平台下源码分析工具
最近这段时间在阅读 RTKLIB的源代码,目前是将 pntpos.c文件的部分看完了,准备写一份文档记录下这些代码的用处.处理过程.理论公式来源.注意事项,自己还没有弄明白的地方.目前的想法是把每一个 ...
随机推荐
- [转]PDO防注入原理分析以及使用PDO的注意事项
原文:http://zhangxugg-163-com.iteye.com/blog/1835721 好文章不得不转. 我们都知道,只要合理正确使用PDO,可以基本上防止SQL注入的产生,本文主要回答 ...
- Apns推送中的的json格式介绍
在开发向苹果Apns推送消息服务功能,我们需要根据Apns接受的数据格式进行推送.下面接受我在进行apns推送时候总结的一点apns服务接受的Json数据格式 示例 1: 以下负载包含哦一个简单的 a ...
- IBATIS动态SQL(转)
直接使用JDBC一个非常普遍的问题就是动态SQL.使用参数值.参数本身和数据列都是动态SQL,通常是非常困难的.典型的解决办法就是用上一堆的IF-ELSE条件语句和一连串的字符串连接.对于这个问题,I ...
- linux backlog深入剖析以及netty设置backlog
netty不同于socket,其上次API没有提供设置backlog的选项,而是依赖于操作系统的somaxconn和tcp_max_syn_backlog,对于不同OS或版本,该值不同,建议根据实际并 ...
- 调用另一个Activity
<转>调用另一个Activity Intent对象的使用 范例说明 前一个范例介绍了如何运用切换Layout的方式,进行手机页面间的转换.如果要转换的页面并不单只是背景.颜色或文字内容的不 ...
- 实现跨域的N种方法
从域说起 域: 域是WIN2K网络系统的安全性边界.我们知道一个计算机网最基本的单元就是"域",这一点不是WIN2K所独有的,但活动目录可以贯穿一个或多个域.在独立的计算机上,域即 ...
- 再议使用Python批量裁切栅格
曾经写过<使用Python脚本批量裁切栅格>,但今天又遇到这个情况则发现了问题.我们遇到的实际问题往往是有一个需要裁剪的影像(大块的),另外有一个矢量面,现在需要按矢量面每一个要素进行裁剪 ...
- .NET破解之谷歌地图下载助手-睿智版
今天在整理文件是,发现手上还有个谷歌地图下载助手-睿智版,是C#写的.查了它们的官网,好像很久没有更新了,可能是垮了吧. 我把.NET程序破解分为三个阶段:软件分析,从软件使用上来分析功能的限制,即为 ...
- 【转】Hadoop web页面的授权设定
转载自过往记忆(http://www.iteblog.com/)本文链接地址: <Hadoop web页面的授权设定>(http://www.iteblog.com/archives/98 ...
- 多种cell混合使用
有时候我们会碰到一个tableView上有多种cell,这个时候就需要定义多种cell,根据条件判断,当满足某个条件的时候选择某个cell 先看plist文件: Person.h #import &l ...