OpenCV2.4.6与VisiualStudio2008,Python2.7.5配置和图像载入显示
- 格式:doc
- 大小:447.00 KB
- 文档页数:4
编译opencv的作用:1、自己添加了新的模块,想把它整合进opencv里2、可以在单步调试时跳进某个子函数,方便调试2.4.3自带了lib和dll,所以不用编译就直接能用,但缺点是调试时子函数不能进入;自己编译就是用cmake(第三方编译器)生成VC的项目文件,然后通过VC产生debug和release 的dll以及lib,调试时可以进入属于opencv的每一个子函数详细步骤:从/下载python-2.7.x.msi安装到\Python27目录下从/下载Python-2.7.x.tar.xz并解压到\Python文件夹下,生成一个Python-2.7.3文件夹(7.zip支持.tar的解压缩)注:使用python才需要下载2、编译一:制作python27_d.lib用vs2008打开\Python\Python-2.7.3\PCbuild文件夹下的pcbuild.sln工程,选中Solution’pcbuild’(解决方案’pcbuild’),点击右键,选择Properties(属性),分别在Release和Debug 下设置,Common Properties(通用属性)-->Startup Project(启动项目)-->选中Singlestartup project(单启动项目)下的python;接着选中Configuration Properties(配置属性)-->Configuration(配置),仅勾选python和pythoncore分别在Debug和Release下依次进行,选中make_buildinfo工程,右键rebuild(重新生成),接着选中make_versioninfo工程,右键rebuild(重新生成),选中Solution pcbuild,右键rebuild(重新生成),会在D:\soft\Python\Python-2.7.3\PCbuild文件夹下生成python27.lib、python27_d.lib、python27.dll、python27_d.dll将python27_d.lib复制到D:\Python27\libs文件夹下(这样OpenCV在Debug下可以正常编译,否则会提吃找不到python27_d.lib)二、编译opencv运行CMake(cmake-gui),在whereis the source code中填入opencv解压缩后的文件路径如D:\soft\OpenCV2.4.3\opencv,在where to build the binaries中填入编译时需要存放的路径如D:\soft\OpenCV2.4.3\vs2008,此vs2008文件夹需要自己创建点击Configure,在弹出的对话框中选择Visual Studio 9 2008,点击Finish如果有红色框显示,继续点击Configure点击Generate,如果机子本身不支持cuda,仍然会有红色提示,暂不用理会即可上述步骤完成后,在vs2008文件夹中,就会看到有OpenCV.sln文件使用vs2008打开OpenCV.sln文件,分别在Debug和Release下,选择Solution Explorer里的Solution OpenCV,点右键,运行”Rebuild Solution”,点击CMakeTargets下的INSTALL,右键build;会在D:\soft\OpenCV2.4.3\vs2008\install文件夹下的bin文件夹中存放相应的动态库,在lib 文件夹下存放相应的静态库注意:opencv_haartraining_engine.lib和opencv_haartraining_engined.lib并没有加入到\install目录,要自己复制过去打开vs2008,新建一个控制台应用程序,为vs2008配置OpenCV环境:选择菜单Tools-->Options-->Project and Solutions-->VC++ Directories,Show directories for 选择include files,加入以下目录D:\soft\OpenCV2.4.3\vs2008\install\includeD:\soft\OpenCV2.4.3\vs2008\install\include\opencvD:\soft\OpenCV2.4.3\vs2008\install\include\opencv2;Showdirectories for选择library files,加入以下目录D:\soft\OpenCV2.4.3\vs2008\install\lib将D:\soft\OpenCV2.4.3\vs2008\install\bin加入windows系统环境变量Path中,重启使用opencv新建项目后,将相应的.lib库添加到项目的依赖库中添加以下内容:debug版opencv_calib3d243d.libopencv_contrib243d.libopencv_core243d.libopencv_features2d243d.libopencv_flann243d.libopencv_gpu243d.libopencv_haartraining_engined.libopencv_highgui243d.libopencv_imgproc243d.libopencv_legacy243d.libopencv_ml243d.libopencv_nonfree243d.libopencv_objdetect243d.libopencv_photo243d.libopencv_stitching243d.libopencv_ts243d.libopencv_video243d.libopencv_videostab243d.librelease版opencv_calib3d243.libopencv_contrib243.lib opencv_core243.libopencv_features2d243.lib opencv_flann243.libopencv_gpu243.libopencv_haartraining_engine.lib opencv_highgui243.lib opencv_imgproc243.lib opencv_legacy243.libopencv_ml243.libopencv_nonfree243.lib opencv_objdetect243.lib opencv_photo243.libopencv_stitching243.lib opencv_ts243.libopencv_video243.libopencv_videostab243.lib。
Python中如何进行机器视觉编程机器视觉(computer vision)是一种以人眼的方式让计算机“看”的技术,它可以为计算机赋予感知能力,并通过图像和视频来理解和分析现实世界的信息。
在Python中,机器视觉编程常常使用一些库和工具,如OpenCV、Pillow和NumPy等,这些工具为开发人员提供了丰富的功能和简易的接口,方便快速地进行图像处理和分析。
本文将对Python中的机器视觉编程进行介绍,并探讨一些实际应用领域,以及相关的技术挑战和发展趋势。
一、Python中的机器视觉库Python中有许多开源的机器视觉库,其中最为流行的是OpenCV。
OpenCV是一个开源的计算机视觉库,它提供了丰富的函数和工具,能够帮助开发人员进行图像处理、特征提取、目标识别等工作。
除了OpenCV,Pillow也是一个常用的图像处理库,它提供了简单易用的图像处理接口,方便开发人员在Python中进行图像处理。
另外,NumPy也是一个重要的库,它用于在Python中进行科学计算和矩阵运算。
在机器视觉编程中,NumPy提供了丰富的函数和工具,能够帮助开发人员进行图像和视频的处理和分析。
二、机器视觉编程基础在机器视觉编程中,常见的基础操作包括图像加载、图像保存、图像显示和图像处理。
下面以OpenCV为例,介绍一下Python中的机器视觉编程基础。
1.图像加载和显示在Python中使用OpenCV加载和显示图像非常简单,只需要几行代码就可以完成。
首先需要安装OpenCV库,然后通过以下代码加载和显示一张图像:```pythonimport cv2#读取图像image = cv2.imread('example.jpg')#显示图像cv2.imshow('image', image)cv2.waitKey(0)cv2.destroyAllWindows()```这段代码首先使用`cv2.imread()`函数加载一张图像,然后使用`cv2.imshow()`函数显示该图像,并通过`cv2.waitKey()`函数等待用户操作,最后使用`cv2.destroyAllWindows()`函数关闭图像窗口。
2024 python与机器视觉教程以下是一个关于Python与机器视觉的教程,不包含标题:一、介绍Python是一种高级编程语言,广泛应用于数据分析、人工智能和机器学习等领域。
机器视觉是一种模拟人类视觉的技术,引入计算机和摄像设备,通过图像处理和模式识别等方法来实现各种应用。
二、安装Python1. 下载Python安装包:在Python官方网站上找到适合您操作系统的安装包,点击下载。
2. 运行安装程序:双击安装包,按照提示进行安装。
选择默认选项即可。
三、安装机器视觉库1. 安装OpenCV库:OpenCV是一个开源的计算机视觉和机器学习软件库,提供了Python接口。
通过以下命令在命令行中安装OpenCV库:```pip install opencv-python```2. 安装Pillow库:Pillow是一个用于处理图像的Python库,可以进行图像读取、处理和保存等操作。
通过以下命令在命令行中安装Pillow库:```pip install pillow```四、加载图像在Python中,可以使用OpenCV库来加载和处理图像。
下面是一个示例代码:```pythonimport cv2# 读取图像image = cv2.imread('image.jpg')# 显示图像cv2.imshow('Image', image)cv2.waitKey(0)cv2.destroyAllWindows()```五、图像处理使用OpenCV库可以进行各种图像处理操作,如缩放、旋转、边缘检测等。
下面是一个示例代码:```pythonimport cv2# 读取图像image = cv2.imread('image.jpg')# 缩放图像resized_image = cv2.resize(image, (500, 500))# 旋转图像rotated_image = cv2.rotate(resized_image,cv2.ROTATE_90_CLOCKWISE)# 边缘检测gray_image = cv2.cvtColor(rotated_image,cv2.COLOR_BGR2GRAY)edges = cv2.Canny(gray_image, 100, 200)# 显示图像cv2.imshow('Edges', edges)cv2.waitKey(0)cv2.destroyAllWindows()```六、图像识别通过机器学习和模式识别算法,可以使用Python进行图像识别任务。
一、安装Opencv1.Opencv官网/ 下载OPencv-2.4.9如图所示2.下载好后直接双击安装,选择安装文件,提取OpenCV函数库到指定路径,比如 D:\ ,选好安装路径后,点击“Extract”安装完成后,文件路径D:\OpenCV2.4.9下就是开发所需的函数库。
二、设置环境变量右键单击我的电脑→属性→高级→环境变量。
1.用户变量设置设置PATH选中PATH,单击编辑。
在PATH的末尾添加以下路径:C:\ProgramFiles\OpenCV244\opencv\build\x86\vc10\bin。
注意:1、要在该路径前添加英文分号;,以与前面的路径隔开,但该路径末尾不可加英文分号;,除非还要在其后添加路径;2、可根据自己的情况,将其改为你的opencv\build\x86\vc10\bin文件夹所在的路径;3、如果是64位系统,可将opencv\build\x86\vc10\bin改为opencv\build\x64\vc10\bin。
2.新建OpenCV变量单击新建,在弹出的对话框中,将变量名和变量值分别设置为OpenCV和C:\Program Files\OpenCV244\opencv\build。
注意:1、变量名可以自己定义;2、变量值可修改为你的opencv\build文件夹所在的路径。
3.系统变量设置设置PATH选中PATH,单击编辑。
在PATH的末尾添加以下路径:C:\ProgramFiles\OpenCV244\opencv\build\x86\vc10\bin。
注意:1、要在该路径前添加英文分号;,以与前面的路径隔开,但该路径末尾不可加英文分号;,除非还要在其后添加路径;2、可根据自己的情况,将其改为你的opencv\build\x86\vc10\bin文件夹所在的路径;3、如果是64位系统,可将opencv\build\x86\vc10\bin改为opencv\build\x64\vc10\bin。
VS 2008下安装OpenCV2.0/2.1注:本文参考由于思琪编写的《VC 2008 Express 下安装openCV2.0/2.1》(连接:/index.php/VC_2008_Express下安装OpenCV2.0/2.1)需要安装的软件-------------------------------------------------------------------------------------1.VS2008.这个不多说,大家都应该安装了。
2.openCV2.1。
下载地址:/index.php/Download。
其实这是一个zip 的压缩包。
我把压缩后的文件放在D:\OperationSystem\OpenCV2.1中。
3.Cmake。
下载地址:/cmake/resources/software.html选择第二个框中的cmake-2.8.2-win32-x86.exe下面我要说一下这三个软件的作用,cmake其实就是一个编译器,而openCV2.1是一个zip 的压缩包,里面就是open2.1的代码。
我们要用CMake编译这些代码,然后与VS2008的库连接。
然后就可以在VS2008中编openCV2.1的程序了。
编译openCV-------------------------------------------------------------------------------------------------1.运行cmake并设置路径为openCV的路径D:\OperationSystem\OpenCV2.1,设置子路径并创建子目录D:\OperationSystem\OpenCV2.1\vs2008用于存放编译结果。
2.点击configure,在弹出框中选择Visual Studio 9 2008。
3.再次点击configure,完成后再点击generate。
Windows7 64位下Visual Studio 2012 OpenCV-2.4.5安装和配置一、第一步配置环境变量:1.2.在用户变量新建OPENCV 和PATHOPENCV=C:\opencv\buildPATH=C:\opencv\build\x64\vc11\bin;C:\opencv\build\x86\vc11\bin3.在系统变量的PATH里面加上C:\opencv\build\x64\vc11\bin;C:\opencv\build\x86\vc11\bin配置完以后重启电脑或者注销环境变量才能生效。
二、配置项目环境:1.新建Win控制台程序,在解决方案资源管理器的右边-》属性管理器进入1)右击Debug选择属性:选择在VC++目录,对包含目录和库目录进行添加包含目录:C:\opencv\build\include;C:\opencv\build\include\opencv2;C:\opencv\build\include\open cv;库目录:(我把32位和64位的动态链接库都加入了)C:\opencv\build\x86\vc11\lib;C:\opencv\build\x64\vc11\lib;2)点击链接器->输入,在附加依赖项里面加上:opencv_calib3d245d.libopencv_contrib245d.libopencv_core245d.libopencv_features2d245d.libopencv_flann245d.libopencv_gpu245d.libopencv_haartraining_engined.libopencv_highgui245d.libopencv_imgproc245d.libopencv_legacy245d.libopencv_ml245d.libopencv_nonfree245d.libopencv_objdetect245d.libopencv_photo245d.libopencv_stitching245d.libopencv_ts245d.libopencv_video245d.libopencv_videostab245d.lib2.同理右击Release选择属性:操作同上面,区别在于,在附加依赖项里面输入:opencv_calib3d245.libopencv_contrib245.libopencv_core245.libopencv_features2d245.libopencv_flann245.libopencv_gpu245.libopencv_highgui245.libopencv_imgproc245.libopencv_legacy245.libopencv_ml245.libopencv_nonfree245.libopencv_objdetect245.libopencv_photo245.libopencv_stitching245.libopencv_ts245.libopencv_video245.libopencv_videostab245.lib三、测试:#include"stdafx.h"#include<opencv2\opencv.hpp>#include<cv.h>#include<highgui.h>using namespace std;using namespace cv;int _tmain(int argc, _TCHAR* argv[]){const char* imagename="Lena.jpg";IplImage* imag=cvLoadImage(imagename,1);cvNamedWindow("LenaWindow",1);cvShowImage("LenaWindow",imag);cvWaitKey(0);cvReleaseImage(&imag);cvDestroyWindow("LenaWindow");}效果:。
【OpenCV入门教程之一】安装OpenCV:OpenCV 2.4.8或OpenCV 2.4.9 +VS 开发环境配置分类:【OpenCV】2014-02-24 11:12 37827人阅读评论(172) 收藏举报opencvvs2010c++目录(?)[+]本系列文章由@浅墨_毛星云出品,转载请注明出处。
文章链接: /poem_qianmo/article/details/19809337作者:毛星云(浅墨)微博:/u/1723155442邮箱:happylifemxy@知乎:/people/mao-xing-yun写作当前博文时配套使用的OpenCV版本: 2.4.8(2014年4月28更新2.4.9的配置。
2014年6月11日第5次修订本文完毕)OpenCV2.4.9和2.4.8的配置几乎一样,唯一的区别在下文中的第五步,链接库的配置,把对应的248改成249即可。
因为读研期间的研究方向是图像处理,所以浅墨这段时间闭门研究了很多OpenCV和图像处理相关的知识与内容。
眼看自己积累到一定的程度了,于是决定开始开设这个OpenCV 系列专栏,总结自己所学,也分享知识给大家。
好了,这篇文章作为OpenCV的启程篇,自然少不了先系统地介绍OpenCV开发环境的配置。
浅墨前后经历过OpenCV 2.4.6,OpenCV 2.4.7,OpenCV 2.4.8这三个版本的配置,有时候还要涉及到三个版本之间的转换,所以还是对OpenCV的配置有一定的理解的,希望自己的一点拙见能帮到大家。
还是先放出待会儿的测试用图:那么,开始吧。
1.下载和安装OpenCV SDKVS2010不用说,肯定都安装了吧。
来说说当前最新的OpenCV版本2.4.8(2014年2月24日),2.4.9 (2014年4月)的下载和安装。
与其说是安装,不如叫解压更加合适,因为我们下载的exe安装文件就是一个自解压程序而已。
在官网:/上找到OpenCV windows版下载下来。
win7下vs2012配置opencv2.4.91.准备工作:系统:Windows 7平台:Visual Studio 2012 UltimateOpenCV:2.4.9(点此下载/)选择这里的opencv forwindows,点击就会下载到opencv2.4.9.exe。
2.解压OpenCV-2.4.9.exe解压(不是安装)到放置OpenCV的位置,例如 E:\Program Files\OpenCV249可以看到,解压后在这个文件夹里面会生成一个文件夹“opencv”,里面就是OpenCV用到的全部文件了,比如“build ”、“include”等文件夹,如下图:3.设置用户变量。
计算机>属性>高级系统设置>环境变量>新建,新建一个用户变量,如变量名:Path,变量值:C:\opencv\build\x86\vc11\bin (1)变量值有如下选择:32位VS2008:C:\opencv\build\x86\vc9\bin64位VS2008:C:\opencv1\build\x64\vc9\bin32位VS2010:C:\opencv\build\x86\vc10\bin64位VS2010:C:\opencv\build\x64\vc10\bin32位VS2012:C:\opencv\build\x86\vc11\bin64位VS2012:C:\opencv\build\x64\vc11\bin32位VS2013:C:\opencv\build\x86\vc12\bin64位VS2013:C:\opencv\build\x64\vc12\binopencv2.4.9目录如下,没有vc9(vs2008):(2)打开软件安装目录查看vs版本,可以发现我安装的vs2012是在Microsoft Visual Studio 11.0里面,同时可以看到我没有安装vs2013(vc12).(3)打开计算机>属性>高级系统设置>环境变量>新建,新建一个环境变量,变量名:path;变量值E:\opencv\build\x86\vc11\bin,点击确定,保存变量。
[文章标题:深度探索opencv2计算机视觉编程手册]在计算机视觉的领域中,OpenCV(Open Source Computer Vision Library)被广泛认可为最流行的开源计算机视觉库之一。
而在其中,opencv2版本则是其最新的一个版本,提供了丰富的功能和工具,可以帮助开发者进行图像处理、目标识别、人脸识别等多种计算机视觉任务。
在本文中,我们将深度探索opencv2计算机视觉编程手册,从基础入门到高级应用,带你全面了解其功能和应用。
1. opencv2计算机视觉基础入门让我们从opencv2的基础入手,探讨其在计算机视觉领域的应用和功能。
opencv2提供了丰富的图像处理工具,包括图像的读取、显示、保存等基本功能,同时也支持图像的像素操作、颜色空间转换、几何变换等高级操作。
通过学习opencv2的基础知识,我们可以掌握图像的基本处理方法和技巧,为进一步的应用打下坚实的基础。
2. opencv2计算机视觉进阶应用在掌握了opencv2的基础知识之后,让我们进一步探讨其在计算机视觉领域的进阶应用。
opencv2提供了强大的目标检测和识别功能,可以用于人脸识别、目标跟踪等场景。
opencv2还支持图像特征提取、图像匹配等高级图像处理技术,为复杂的计算机视觉任务提供了强大的支持。
通过深入学习opencv2的进阶应用,我们可以实现更多复杂的图像处理和计算机视觉任务,提升应用的效果和性能。
3. opencv2计算机视觉个人观点和理解在我看来,opencv2作为一个开源计算机视觉库,在图像处理和计算机视觉领域发挥着非常重要的作用。
它不仅提供了丰富的功能和工具,同时还有着活跃的社区和开发者支持,可以帮助开发者更好地应用和优化图像处理和计算机视觉任务。
我个人对opencv2的使用体验也非常好,它的文档和示例都非常丰富,为我在图像处理和计算机视觉领域的学习和工作提供了很大的帮助。
总结回顾opencv2计算机视觉编程手册是一个非常重要的学习资料和工具,它可以帮助我们全面了解图像处理和计算机视觉领域的知识和技术。
读取并显示图像
在Python中不需要声明变量,所以也就不需要C++中的cv::Mat xxxxx了。
只需这样:[python]view plaincopy
1.img = cv
2.imread("D:\cat.jpg")
OpenCV目前支持读取bmp、jpg、png、tiff等常用格式。
更详细的请参考OpenCV的参考文档。
接着创建一个窗口
[python]view plaincopy
1.cv
dWindow("Image")
然后在窗口中显示图像
[python]view plaincopy
1.cv
2.imshow("Image", img)
最后还要添上一句:
[python]view plaincopy
1.cv
2.waitKey (0)
如果不添最后一句,在IDLE中执行窗口直接无响应。
在命令行中执行的话,则是一闪而过。
完整的程序为:
[python]view plaincopy
1.import cv2
2.
3.img = cv2.imread("D:\\cat.jpg")
dWindow("Image")
5.cv2.imshow("Image", img)
6.cv2.waitKey (0)
7.cv2.destroyAllWindows()
最后释放窗口是个好习惯!
创建/复制图像
新的OpenCV的接口中没有CreateImage接口。
即没有cv2.CreateImage这样的函数。
如果要创建图像,需要使用numpy的函数(现在使用OpenCV-Python绑定,numpy是必装的)。
如下:
[python]view plaincopy
1.emptyImage = np.zeros(img.shape, np.uint8)
在新的OpenCV-Python绑定中,图像使用NumPy数组的属性来表示图像的尺寸和通道信息。
如果输出img.shape,将得到(500, 375, 3),这里是以OpenCV自带的cat.jpg为示例。
最后的3表示这是一个RGB图像。
也可以复制原有的图像来获得一副新图像。
[python]view plaincopy
1.emptyImage2 = img.copy();
如果不怕麻烦,还可以用cvtColor获得原图像的副本。
[python]view plaincopy
1.emptyImage3=cv
2.cvtColor(img,cv2.COLOR_BGR2GRAY)
2.#emptyImage3[...]=0
后面的emptyImage3[...]=0是将其转成空白的黑色图像。
保存图像
保存图像很简单,直接用cv2.imwrite即可。
cv2.imwrite("D:\\cat2.jpg", img)
第一个参数是保存的路径及文件名,第二个是图像矩阵。
其中,imwrite()有个可选的第三个参数,如下:
cv2.imwrite("D:\\cat2.jpg", img,[int(cv2.IMWRITE_JPEG_QUALITY), 5])
第三个参数针对特定的格式:对于JPEG,其表示的是图像的质量,用0-100的整数表示,默认为95。
注意,cv2.IMWRITE_JPEG_QUALITY类型为Long,必须转换成int。
下面是以不同质量存储的两幅图:
对于PNG,第三个参数表示的是压缩级别。
cv2.IMWRITE_PNG_COMPRESSION,从0到9,压缩级别越高,图像尺寸越小。
默认级别为3:
[python]view plaincopy
1.cv
2.imwrite("./cat.png", img, [int(cv2.IMWRITE_PNG_COMPRESSION), 0])
2.cv2.imwrite("./cat2.png", img, [int(cv2.IMWRITE_PNG_COMPRESSION), 9])
保存的图像尺寸如下:
还有一种支持的图像,一般不常用。
完整的代码为:
[python]view plaincopy
1.import cv2
2.import numpy as np
3.
4.img = cv2.imread("./cat.jpg")
5.emptyImage = np.zeros(img.shape, np.uint8)
6.
7.emptyImage2 = img.copy()
8.
9.emptyImage3=cv2.cvtColor(img,cv2.COLOR_BGR2GRAY)
10.#emptyImage3[...]=0
11.
12.cv2.imshow("EmptyImage", emptyImage)
13.cv2.imshow("Image", img)
14.cv2.imshow("EmptyImage2", emptyImage2)
15.cv2.imshow("EmptyImage3", emptyImage3)
16.cv2.imwrite("./cat2.jpg", img, [int(cv2.IMWRITE_JPEG_QUALITY), 5])
17.cv2.imwrite("./cat3.jpg", img, [int(cv2.IMWRITE_JPEG_QUALITY), 100])
18.cv2.imwrite("./cat.png", img, [int(cv2.IMWRITE_PNG_COMPRESSION), 0])
19.cv2.imwrite("./cat2.png", img, [int(cv2.IMWRITE_PNG_COMPRESSION), 9])
20.cv2.waitKey (0)
21.cv2.destroyAllWindows()。