• 在VS2013上配置OpenCV1.0


      OpenCV1.0版(下载)基本上已经是老掉牙了,但是不想装新版,只是因为任性。所以就有了这样一个新老搭配。装完回想起来还是挺简单的,但是还是费了我一晚上,所以有必要记录一下。

            先在电脑上装好OpenCV1.0,安装好之后目录如下图:

    QQ图片20150105224436

            接下来把bin目录中的文件复制到c盘windows/system32下(如果是64位系统就复制到windows/syswow64)。然后就可以新建项目了,如下图:

    QQ图片20150105225020

            创建一个win32控制台应用程序。

     

            接下来设置项目的属性:1.右键点击项目名称,选择“属性”。2.“配置属性”->“c/c++”->“常规”->编辑附加包含目录,添加如图所示的文件夹:QQ图片20150105225432

            3.“链接器”->“常规”->编辑“附加库目录”:

    QQ图片20150105225802

            4.还在“链接器”下,选择“输入”,添加附加依赖项:

    QQ图片20150105230058

            注意这些.lib文件名就是OpenCVlib下的文件的名字。

           cv.lib
    cvaux.lib
    cvcam.lib
    cxcore.lib
    cxts.lib
    cxtsd.lib
    highgui.lib
    ml.lib

            属性设置完后,写一个hello world,代码是我从网上找的,出处已经找不到了。

    #include <stdlib.h>
    #include <stdio.h>
    #include <math.h>
    #include <cv.h>
    #include <highgui.h>
    #include <string>
    
    using namespace std;
    int main(int argc, char *argv[])
    {
        IplImage* img = 0;
        int height, width, step, channels;
        uchar *data;
        int i, j, k;
    
        string name = "D://2.bmp";
        // load an image  
        img = cvLoadImage(name.c_str());
    
        if (!img){
            printf("Could not load image file: %s
    ",name.c_str());
            //exit(0);
        }
    
        // get the image data
        height = img->height;
        width = img->width;
        step = img->widthStep;
        channels = img->nChannels;
        data = (uchar *)img->imageData;
        printf("Processing a %dx%d image with %d channels
    ", height, width, channels);
    
        // create a window
        cvNamedWindow("mainWin", CV_WINDOW_AUTOSIZE);
        cvMoveWindow("mainWin", 100, 100);
    
        // invert the image
        for (i = 0; i < height; i++) for (j = 0; j < width; j++) for (k = 0; k < channels; k++)
            data[i*step + j*channels + k] = ~data[i*step + j*channels + k];
    
        // show the image
        cvShowImage("mainWin", img);
    
        // wait for a key
        cvWaitKey(0);
    
        // release the image
        cvReleaseImage(&img);
        return 0;
    
    }
  • 相关阅读:
    python中装饰器的原理
    python中封装、继承、多态
    Linux 中数组的使用
    Linux中环境变量中文件执行顺序
    Linux中FTP的一点理解
    原来... 拷贝构造函数的参数为什么必须使用引用类型
    C++ Programming language读书笔记
    linux 用户态 内核态
    Linux命令学习整理。
    fork &vfork --陈皓
  • 原文地址:https://www.cnblogs.com/ssjie/p/4933932.html
Copyright © 2020-2023  润新知