【OpenCV】OpenCV2.4.6 与Visiual Studio 2008,Python2.7.5配置和图像载入显示
自从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)
- http://sourceforge.net/projects/numpy/files/NumPy/1.6.1/
- http://sourceforge.net/projects/scipy/files/scipy/0.9.0/
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配置和图像载入显示的更多相关文章
- 关于在Visual Studio 2008/2010 和Opencv平台下出现LINK : fatal error
http://blog.sina.com.cn/s/blog_9015f3230101bbef.html 关于在Visual Studio 2008/2010 和Opencv平台下出现LINK : f ...
- [vs2008]Visual Studio 2008 SP1添加或删除功能提示查找SQLSysClrTypes.msi文件
前言 今天接到领导布置的一个任务,是之前同事负责的项目.离职了,现在客户有些地方需要修改,由于我之前参与过,就落在我的头上了. 然后我就把代码弄了过来,打开发现其中需要用到水晶报表.(我觉得不好用,不 ...
- 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 ...
- Visual Studio 2008 Package Load Failure:未能正确加载包“Microsoft.VisualStudio.Xaml”
在安装好Visual Studio 2008后,启动Visual Studio 2008 发现如下提示: 包加载失败 未能正确加载包“Microsoft.VisualStudio.Xaml”( GUI ...
- 打开office word excel弹出visual studio 2008
打开office word 或者excel或者ppt等文档就会弹出visual studio 2008正在配置对话框. 按照我下面的步骤,解决方法非常简单. 如果你的电脑是win7操作系统,从第一步开 ...
- 安装了SQL2005再安装SQL 2008R2,提示此计算机上安装了 Microsoft Visual Studio 2008 的早期版本和检查是否安装了 SQL Server 2005 Express 工具的解决方案
工作电脑上安装了SQL 2005, 但是客户电脑上安装的是SQL 2008R2,有时候连接他们的库调试没法连接,很不方便.然后又安装了个SQL2008 R2,期间遇到这两个问题,网上搜索了一下收到了解 ...
- Visual Studio 2008打开vs2010解决方案的方法
一个朋友遇到了个问题:用visual studio 2008软件,无法打开一个asp.net网站的sln解决方案.如下图,原因是此解决方案由vs2010生成的,必须由vs2010运行程序打开. 这样一 ...
- Visual Studio 2008 使用 WinCE 5.0 Emulator
1. 簡介 由於 Visua Studio 2008 與 WinCE 5.0 Emulator 並沒有完全整合,因此想要測試我們所開發的 Windows CE 程式,需透過設定,將我們所開發的程式丟到 ...
- Visual Studio 2008破解激活升级方法
声明:本文中涉及到的序列号及更新方法均来自互联网,请支持正版. 微软为业余爱好者.热衷者和学生提供了免费版——Express Edition (轻型.易学.易用的开发工具). 如不想支付任何费用,建议 ...
随机推荐
- TabelView的多选模式
@interface ViewController ()<UITableViewDelegate,UITableViewDataSource> @property(nonatomic,st ...
- BZOJ 3444: 最后的晚餐( )
把暗恋关系看成无向边, 那某个点度数超过2就无解.存在环也是无解.有解的话对连通分量进行排列就行了. ------------------------------------------------- ...
- Hadoop MultipleOutputs 结果输出到多个文件夹 出现数据不全,部分文件为空
如题:出现下图中的情况(设置reduceNum=5) 感觉很奇怪,排除了很久,终于发现是一个第二次犯的错误:丢了这句 this.mOutputs.close(); 加上这句,一切恢复正常!
- MyEclipse 8.5整合Git,并在Github上发布项目(转)
下载Eclipse的git插件——EGit.下载网址http://download.eclipse.org/egit/updates-1.3/org.eclipse.egit-updatesite-1 ...
- java csv 文件 操作类
一个CSV文件操作类,功能比较齐全: package tool; import java.io.BufferedReader; import java.io.BufferedWriter; impor ...
- nodejs--express开发个人博客(2)
上一部分已经实现了视图的雏形,现在加上逻辑操作. 登陆.注册.文章发表都需要用到数据库的数据存取,用的比较多的就是mongodb了. MongoDB 是一个对象数据库,它没有表.行等概念,也没有固定的 ...
- Node log4js
一个完善的项目,日志是必不可少的一部分,在node开发中,调试成了让开发者头疼的部分,因此日志成为在node中帮助调试的一个重要模块. 一.Node使用Log4js 1.使用npm工具,在命令行中 执 ...
- Foundation Sorting: Shellsort
/* Shell Sorting. * Implemention history:. * 2013-09-15, Mars Fu, first version. */ /* [Shell Sortin ...
- HTTP协议是无状态协议,怎么理解?
Http是一个无状态协议,同一个会话的连续两个请求互相不了解,他们由最新实例化的环境进行解析,除了应用本身可能已经存储在全局对象中的全部信息外,该环境不保存与会话有关的不论什么信息. 自己的理解,在 ...
- 3.5 用NPOI操作EXCEL--巧妙使用Excel Chart
在NPOI中,本身并不支持Chart等高级对象的创建,但通过l模板的方式可以巧妙地利用Excel强大的透视和图表功能,请看以下例子. 首先建立模板文件,定义两列以及指向此区域的名称“sales”: 创 ...