自从OpenCV2.2开始,OpenCV 库便分成几个模块并位于lib文件中,本节介绍从OpenCV2.4.6与VS2008 、Python2.7.5如何配置环境,如何外部文件载 入图像、在窗口中显示图像。

配置环境

Installing OpenCV2.4.6 for Visual Studio 2008

Step 1: Download OpenCV2.4.6.exe from  http://sourceforge.net/projects/opencvlibrary/files/opencv-win/2.4.6/. Run OpenCV-2.4.6-win-superpack.exe and copy the generated folder OpenCV2.4.6 to D drive

Step 2: Open Microsoft Visual Studio 2008 and click Tools->Options


Select Projects and Solutions and then VC++ Directories. Select Include files in Show directories for: drop down menu. Add the following paths.

D:\Program Files\OpenCV2.4.6\VS2008\include

Select Library files in Show directories for: drop down menu. Add the following path.

D:\Program Files\OpenCV2.4.6\VS2008\lib\Debug

D:\Program Files\OpenCV2.4.6\VS2008\lib\Release

Now we have added include and library file paths and this need to be done only for the first time.

Step 3:  Create an new project in Visual Studio 2008

Click Project->Properties. Select Configuration Properties -> Linker -> Input. Make sure you select Debug in 'Configuration:' drop down menu and then add the following to the Additional Dependencies.

opencv_features2d246d.lib opencv_highgui246d.lib opencv_core246d.lib opencv_imgproc246d.lib opencv_ml246d.lib opencv_objdetect246d.lib opencv_video246d.lib opencv_contrib246d.lib opencv_calib3d246d.lib

Now select Release in 'Configuration:' drop down menu and then add the following to the Additional Dependencies  and click OK

opencv_features2d246.lib opencv_highgui246.lib opencv_core246.lib opencv_imgproc246.lib opencv_ml246.lib opencv_objdetect246.lib opencv_video246.lib opencv_contrib246.lib opencv_calib3d246.lib

Step 4:

Add D:\Program Files\OpenCV2.4.6\bin to the environment path as shown in screenshot below. You may need to restart the system after setting this.

Installing OpenCV2.4.6 for Python 2.7.5

i have always struggled when trying to set up OpenCV for Python before. So I decide to write this post to help myself in the future and share with you =). My setup is for OpenCV 2.2 but I think you can apply for any version of OpenCV.

Step 1: Download and install Python 2.7.5 from http://www.python.org/getit/releases/2.7.5/. You need to install the 32bit version of Python.

Step 2: Download and install OpenCV 2.4.6 from http://sourceforge.net/projects/opencvlibrary/files/. Note that this version only supports Python 2.7.5 (not 3.x).

Step 3: Download and install NumPy 1.6.1 and SciPy 0.9.0 from: (you need to choose the files which support Python 2.7)

Step 4:Setup Windows Path in Environment Variables

  • Add “D:/Python2.7.5;D:/OpenCV2.4.6/bin” to PATH variable (You need to change the directory to where you install Python and OpenCV).
  • Create PYTHONPATH variable and put “D:/OpenCV2.4.6/Python2.7.5/Lib/site-packages” as value.

图像载入和显示

我们第一件事是就是如何声明一个表示图像的变量,在OpenCV 2.XX中,这个变量将是cv:Mat类型.

cv:Mat img;

接着是,一个简单的读取函数将进行寻文件读取,解码以及内存的分配。

img = cv:imread("../../../waves.jpg");

首先在显示图像之前时,需定义一个图像显示的窗口,接着指定需要显示的图像。

cv::namedWindow("Original Window");	// define the window
cv::imshow("Original Window",img); //show img in the window

现在如果我们需要对图像进行一些处理,如flip函数,然而,我们也可以创建另外一个矩阵来保存输出结果:

cv::Mat result;
cv::flip(img,result,1); // positive for horizontal;
// 0 for vertical;
// negative for both

结果显示在另一个窗口中:

cv::namedWindow("Output Window");
cv::imshow("Output Window",result);

由于这个管制台窗口。它会在main函数的结尾处终结,因此我们添加额外highgui 函数使得程序退出胶不停等待用户的按键入:

cv::waitKey(0);

现在,给相关完整C++版代码和Python版代码.

完整代码

C++版

//
// display_image.cpp : Defines the entry point for the console application.
// #include "stdafx.h"
#include "opencv2/opencv.hpp" int _tmain(int argc, _TCHAR* argv[])
{
cv::Mat img = cv::imread("../../../waves.jpg"); cv::Mat result;
cv::flip(img,result,1); // positive for horizontal;
// 0 for vertical;
// negative for both cv::namedWindow("Original Window"); // define the window
cv::namedWindow("Output Window"); cv::imshow("Original Window",img); //show img in the window
cv::imshow("Output Window",result); cv::waitKey(0);
cv::destroyAllWindows(); return 0;
}

Python版

''' filename : display_image.py
Benefits : Learn to load image and display it in window''' import cv2 img = cv2.imread("../waves.jpg")
Result =cv2.flip(img,1) cv2.namedWindow('Original Window')
cv2.imshow('Original Window',img) #Show Original image in the window
cv2.namedWindow('Output Window')
cv2.imshow('Output Window',Result) cv2.waitKey(0)
cv2.destroyAllWindows() #Destroy all windows

本人测试C++版和Python版 图像输出结果一样,并未什么细微显示差别。

图像输出结果

未完,待续........

======================================================
转载请注明出处:http://blog.csdn.net/utimes/article/details/9388541
======================================================

【OpenCV】OpenCV2.4.6 与Visiual Studio 2008,Python2.7.5配置和图像载入显示的更多相关文章

  1. 关于在Visual Studio 2008/2010 和Opencv平台下出现LINK : fatal error

    http://blog.sina.com.cn/s/blog_9015f3230101bbef.html 关于在Visual Studio 2008/2010 和Opencv平台下出现LINK : f ...

  2. [vs2008]Visual Studio 2008 SP1添加或删除功能提示查找SQLSysClrTypes.msi文件

    前言 今天接到领导布置的一个任务,是之前同事负责的项目.离职了,现在客户有些地方需要修改,由于我之前参与过,就落在我的头上了. 然后我就把代码弄了过来,打开发现其中需要用到水晶报表.(我觉得不好用,不 ...

  3. Microsoft Visual Studio 2008 未能正确加载包“Visual Web Developer HTML Source Editor Package” | “Visual Studio HTM Editor Package”

    在安装Microsoft Visual Studio 2008 后,如果Visual Studio 2008的语言版本与系统不一致时,比如:在Windows 7 English System 安装Vi ...

  4. Visual Studio 2008 Package Load Failure:未能正确加载包“Microsoft.VisualStudio.Xaml”

    在安装好Visual Studio 2008后,启动Visual Studio 2008 发现如下提示: 包加载失败 未能正确加载包“Microsoft.VisualStudio.Xaml”( GUI ...

  5. 打开office word excel弹出visual studio 2008

    打开office word 或者excel或者ppt等文档就会弹出visual studio 2008正在配置对话框. 按照我下面的步骤,解决方法非常简单. 如果你的电脑是win7操作系统,从第一步开 ...

  6. 安装了SQL2005再安装SQL 2008R2,提示此计算机上安装了 Microsoft Visual Studio 2008 的早期版本和检查是否安装了 SQL Server 2005 Express 工具的解决方案

    工作电脑上安装了SQL 2005, 但是客户电脑上安装的是SQL 2008R2,有时候连接他们的库调试没法连接,很不方便.然后又安装了个SQL2008 R2,期间遇到这两个问题,网上搜索了一下收到了解 ...

  7. Visual Studio 2008打开vs2010解决方案的方法

    一个朋友遇到了个问题:用visual studio 2008软件,无法打开一个asp.net网站的sln解决方案.如下图,原因是此解决方案由vs2010生成的,必须由vs2010运行程序打开. 这样一 ...

  8. Visual Studio 2008 使用 WinCE 5.0 Emulator

    1. 簡介 由於 Visua Studio 2008 與 WinCE 5.0 Emulator 並沒有完全整合,因此想要測試我們所開發的 Windows CE 程式,需透過設定,將我們所開發的程式丟到 ...

  9. Visual Studio 2008破解激活升级方法

    声明:本文中涉及到的序列号及更新方法均来自互联网,请支持正版. 微软为业余爱好者.热衷者和学生提供了免费版——Express Edition (轻型.易学.易用的开发工具). 如不想支付任何费用,建议 ...

随机推荐

  1. 枚举与define的区别

    1.枚举enum的用途浅例      写程序时,我们常常需要为某个对象关联一组可选alternative属性.例如,学生的成绩分A,B,C,D等,天气分sunny, cloudy, rainy等等.  ...

  2. JS学习之事件冒泡

    (1)什么是事件起泡      首先你要明白一点,当一个事件发生的时候,该事件总是有一个事件源,即引发这个事件的对象,一个事件不能凭空产生,这就是事件的发生. 当事件发生后,这个事件就要开始传播.为什 ...

  3. JavaScript基础知识----零基础js入门练习题

    1,什么是Javascript? 答:Javascipt是一种脚本语言,由web浏览器进行解释和执行.   2,JavaScript是由那几个部分组成?  答:主要分为以下三种:     ECMASc ...

  4. JavaScript表单验证年龄

    JavaScript表单验证年龄,判断一个输入量是否符合年龄,通过正则表达式实现. //检查年龄 function isAge(str){ var mydate=new Date; var now=m ...

  5. php学习笔记(2)

    1.算数运算 <?php $a = 8; $b = 2; $c = 3; echo $a+$b."<br>\n"; echo $a-$b."<br ...

  6. eclipse设置web项目发布到tomcat根目录下

    如果已经将项目绑定到服务器了,那就先删除服务器. 重新添加项目进服务器,双击 修改下面Server Locations到tomcat目录下 顺带可以修改下右上角的超时设置 再点击下方 这样就可以了.

  7. Oracle Primavera P6 R84单机版安装教程

    本教程用于指导Oracle Primavera P6 R84版本的单机版安装过程.P6 R84版本于2014年9月30日发布.其功能较之前版本有较大提升.单机版的安装方式也发生了很大的变化.P6 R8 ...

  8. include file和include virtual的区别

    1.#include file 包含文件的相对路径,#include virtual包含文件的虚拟路径. 2.在同一个虚拟目录内,<!--#include file="file.asp ...

  9. js数组对象常用方法小结

    ~~~数组添加元素后一般返回数组的新长度 如: push(ele1[,ele2...]), unshift(ele1[,ele2...]) ~~~数组删除元素后一般返回被删除的元素 如: pop() ...

  10. InfoQ文章

    http://www.infoq.com/cn/presentations/log-platform-construction-weipinhui https://github.com/Telesco ...