Scons and OpenCV 2.4

OpenCV scons 模板

看了好几天,终于知道 scons 怎么编译 opencv 程序了 。 而且,opencv2.4 支持 1.0 版本的编程方式(函数)。 参考了 scons 使用 , 和 opencv 2.3 在 vs2010 设置 , 这些资料 。

困住我的难点是,要把 opencv 的 bin 加入 path ,详细地址 D:\OpenCV24\opencv\build\x86\vc10\bin

我的工程在这个路径 D:\OpenCV24\opencv\build\x86\vc10\ 共两个文件: sconstruct te.cpp 命令行输入: scons

sconstruct

env = Environment()
env.Program(target='te',
            source=['te.cpp'],
            LIBS=['opencv_core240','opencv_highgui240','opencv_imgproc240','opencv_legacy240','opencv_ml240','opencv_video240'],
            LIBPATH=['lib','staticlib','bin'],
            CPPPATH=['../../include','../../include/opencv','../../include/opencv2']
            )

LIB中的 240 表示 opencv 的 2.40 版本 , 240d 则表示的是 debug 版本 , 不知道为什么 , 240d 生成的 debug 版本exe程序不能运行 。

te.cpp

#include "opencv.hpp"

using namespace cv ;
using namespace std ;

int main()
{
    cout<<"start"<<endl ;
    Mat img = imread("mm.jpg") ;
    /*
    if( !img.empty() )
      return -1 ;
    if( !img.data )
      return -1 ;
      */

    //cv::namedWindow("mm",CV_WINDOW_AUTOSIZE) ;
    imshow("mm",img) ;
    waitKey() ;

    cout<<"over"<<endl ;

    return 0 ;
}