网站公告列表

  没有公告

加入收藏
设为首页
联系站长
您现在的位置: 网络学院 >> 程序设计 >> VC编程 >> 文章正文
  OpenCV在VC.net,VC6.0等中的用法            【字体:
OpenCV在VC.net,VC6.0等中的用法
作者:佚名    文章来源:不详    点击数:    更新时间:2007-9-12    
要使用OpenCV,需要经过以下几步:
1、下载OpenCV1.0:
    ::URL::http://www.intel.com/technology/computing/opencv/index.htm
    http://OpenCV.sourceforge.net
2、安装OpenCV
3、设置IDE的环境变量:可执行文件、库、头文件
    假设它安装于“C:\Program Files\OpenCV”

    可执行文件列表: $(BIN)
        C:\Program Files\OpenCV\bin

    库文件列表: $(LIB)
        C:\Program Files\OpenCV\lib

    include文件列表: $(INCLUDE)
        C:\Program Files\OpenCV\cv\include
        C:\Program Files\OpenCV\cxcore\include
        C:\Program Files\OpenCV\otherlibs\highgui
        C:\Program Files\OpenCV\cvaux\include
        C:\Program Files\OpenCV\otherlibs\cvcam\include
    
(1)VC.net
    <1> 打开VC++.net应用程序,在菜单项里选择:Tools->Options
        在列表中,选择Projects->VC++ Directories
        首先,从“Show Directories for”的list box中选择“Library files”
        单击“Insert New”图标,添加库文件列表
            C:\Program Files\OpenCV\lib
        然後在list box中选择include文件,添加库文件列表
        同样添加可执行文件列表。
正在装载数据……

    <2> 新建一个控制台项目,.cpp文件里面添加以下头文件:
            #include <cv.h>
            #include <cxcore.h>
            #include <highgui.h>
        然后按下列步骤添加具体的依赖的库:
        从菜单:“Projcet”->“Properties”选择"Link"tab -> "Input" -> "Additional Dependencies"。
        添加所有需要的库(cxcore[d].lib cv[d].lib highgui[d].lib cvaux[d].lib cvcam[d].lib) 
    <3> 大功告成,编译运行即可。
(2)VC6.0 (拷贝他人的)
    打开Visual C++ 6.0,在Tools -> Directories选项中,Show Directories for中选择Include files,在其中添加
    C:\Program Files\OpenCV\cv\include
    C:\Program Files\OpenCV\cvaux\include
    C:\Program Files\OpenCV\cxcore\include
    C:\Program Files\OpenCV\otherlibs\highgui
    C:\Program Files\OpenCV\otherlibs\cvcam\include
    
    选择Source files,在其中添加
    C:\Program Files\OpenCV\cv\src
    C:\Program Files\OpenCV\cvaux\src
    C:\Program Files\OpenCV\cxcore\src
    C:\Program Files\OpenCV\otherlibs\highgui
    C:\Program Files\OpenCV\otherlibs\cvcam\src\windows
    
    选择Library files,在其中添加
    C:\Program Files\OpenCV\lib
    
    在Project Setting ->Link的Input选项中,添加在Object/library modules附加上cxcore.lib cv.lib ml.lib cvaux.lib highgui.lib cvcam.lib 三个库文件(这一步对于每个新工程都要重新设置,而前三步不需要)。
    
    最后要把C:\Program Files\OpenCV\bin目录设为系统目录(添加到Path里面)。至此所有工作就完成了。

(3)MinGW-GCC(以Dev C++为例)
    <1> 打开Dev C++,“工具”->“编译器选项”->“目录”
            在“二进制”里面添加可执行文件列表;
            在“库”里面添加库列表;
            在“C包含文件”及“C++包含文件”里面添加头文件列表;
        然后在“编译器”选项卡里面,选中“在链接器命令行加入以下命令”,并添加以下链接命令:
            -lcxcore -lcv -lhighgui -lcvaux -lcvcam
            说明:  a 不能加后缀 .lib,因为其默认会自动添加.lib后缀;
                    b 这些库都是COFF格式,MinGW-GCC可以自动识别,不用转换;
                    c “-l”要小写,因为"-L"表示目录,而“-l”表示链接具体的库文件。
    <2> 新建一个控制台项目,你就可以开始工作了。
    
(4)C++ Builder
    BCB 里面使用比较麻烦,主要是它的 .lib 文件格式是 OMF,不是COFF,所以要进行转换。
    <1> 转换 .lib 文件为 OMF 格式,使用 $(BCB)\bin 目录下面的 coff2omf.exe 工具,建立一个批处理文件
            coff2omf cv.lib cbuilder\cv.lib
            coff2omf cvaux.lib cbuilder\cvaux.lib
            coff2omf cvcam.lib cbuilder\cvcam.lib
            coff2omf cvhaartraining.lib cbuilder\cvhaartraining.lib
            coff2omf cxcore.lib cbuilder\cxcore.lib
            coff2omf cxts.lib cbuilder\cxts.lib
            coff2omf highgui.lib cbuilder\highgui.lib
            coff2omf ml.lib cbuilder\ml.lib
        不过使用coff2omf转换有些问题,网上有解释:
            coff2omf可以转换微软的COFF格式为Borland使用的OMF格式。但是这个工具有一些限制:转换一般的C函数还可以,转换C++类有困难;这个工具在处理新版本的VC++生成的库时可能有问题。 
            另外,可以参考“Using Visual C++ DLLs in a C++Builder Project”::URL::http://www.bcbdev.com/articles/vcdll.htm和http://www.bcbdev.com/articles/vcdll2.htm 
        不过,因为有bin目录里面有dll文件,可以考虑使用同一目录下面的 implib filename.lib filename.dll 进行转换,建立如下批处理文件:
            implib cbuilder\cv.lib cv100.dll
            implib cbuilder\cvaux.lib cvaux100.dll
            implib cbuilder\cvcam.lib cvcam100.dll
            ;implib cbuilder\cvhaartraining.lib haartraining.exe
            implib cbuilder\cxcore.lib cxcore100.dll
            implib cbuilder\cxts.lib cxts001.dll
            implib cbuilder\highgui.lib highgui100.dll
            implib cbuilder\ml.lib ml100.dll
            implib cbuilder\libguide.lib libguide40.dll
        两者转换的结果不太相同,不知哪个好:(
        ——不过只要能编译运行就可以了。
        当然,你也可以使用BCB编译出需要的库。
        把 cbuilder 目录拷贝到 OpenCV 的目录下面。
<2> 在系统变量里面添加 OPENCV 为 C:\Program Files\OpenCV,
设置“工具”->“环境变量”->“库”,在“库路径”里面添加 $(OPENCV)\cbuilder;$(OPENCV)\bin
在Directories/Conditonals 里面的Include Path 添加$(OPENCV)\cv\include;$(OPENCV)\cxcore\include;$(OPENCV)\otherlibs\highgui;$(OPENCV)\cvaux\include;$(OPENCV)\otherlibs\cvcam\include
在Library Path 里面添加 $(OPENCV)\lib
<3>新建一个控制台工程,不要VCL支持。然后选择“工程”->“添加到工程”,把刚才转换好的.lib文件添加到工程中即可。
<4> 编辑你的代码,调试允许吧:)
4、示例程序:
    读取 lena.jpg 图象并显示:
------------------------------------------------------------------------------
#include <cv.h>
#include <cxcore.h>
#include <highgui.h>

int main(int argc, char *argv[])
{
    IplImage *img = cvLoadImage("lena.jpg");
    cvNamedWindow("Image:", 1);
    cvShowImage("Image:", img);

    cvWaitKey();
    cvDestroyWindow("Image:");
    cvReleaseImage(&img);
    
    return 0;
}
------------------------------------------------------------------------------
参考:
::URL::http://www.opencv.org.cn
http://blog.csdn.net/hunnish/
http://groups.yahoo.com/group/OpenCV  


本文来源:http://blog.csdn.net/haiqianjing/archive/2007/08/24/1757706.aspx
站内文章搜索 高级搜索
文章录入:admin    责任编辑:admin 
  • 上一篇文章:

  • 下一篇文章:
  • 发表评论】【加入收藏】【告诉好友】【打印此文】【关闭窗口
    最新热点 最新推荐 相关文章
     directx 图形接口指南(…
     win2k下的api函数的拦截
     用crypto  api  实现公钥…
     根据别人的md5源码封装的…
     vc中使用gdi+合并jpg图片
     document/view的交互 --…
     windows下的函数hook技术
     windows api函数大全一
     用vc 6.0实现串行通信的…
     vc++技术内幕(第四版)…
  • 浅析Spring框架下PropertyPl…

  • Cookie又见Cookie-使用Html…

  • genexus中对字符串的格式补空…

  • JavaWeb中的Session、Sessio…

  • jsp重定向forward和sendRedi…

  • MVP——Model-Viewer-Presen…

  • 《程序员》9期上市,Enterpr…

  • 汇编来实现OOP思想

  • boost.type_traits源码整理和…

  • 编写安全的Symbian C 游戏代…

  •   网友评论:(只显示最新10条。评论内容只代表网友观点,与本站立场无关!)
    网络学院©2007 www.23book.net
    为您提供web编程,vb编程,vc编程,服务器架设管理,数据库设计等方面的知识 站长:David