none
VS2010下openCV程序函数cvReleaseImage()问题 RRS feed

  • 问题

  • 我的VS2010配置了openCV2.1版本,照书本编了一个色彩值颠倒的程序,可是里面的函数cvReleaseImage()老是出错,去掉这一句时程序运行成功,加上就报错(error LNK2001: 无法解析的外部符号 _cvReleaseImage),图像显示后不是应该释放图像指针的吗?编写了一个显示图像的程序也是这样,没有那一句就可以运行成功。为什么会这样呢,请高手指点迷津。色彩值颠倒具体程序如下:

    #include "stdlib.h"
    #include "stdio.h"
    #include "math.h"
    #include "cv.h"
    #include "highgui.h"

    int main()
    {
    IplImage *img =0;
    int height,width,step,channels;
    uchar * data;
    int i,j,k;

    img=cvLoadImage("C:\\Documents and Settings\\Administrator\\桌面\\常用图片集\\fruits.jpg",0);
    if(!img)
    {
     printf("Could not load image file: \n");
     exit(0);
    }

    height=img->height;
    width=img->width;
    step=img->widthStep;
    channels=img->nChannels;
    data=(uchar*)img->imageData;
    printf("Processing a %d x %d image with %d channels \n",height,width,channels);


    cvNamedWindow("Win",CV_WINDOW_AUTOSIZE);
    cvMoveWindow("Win",100,100);
    cvNamedWindow("Original",CV_WINDOW_AUTOSIZE);
    cvMoveWindow("Original",200,200);

    for (i=0;i<height;i++)
    {
     for (j=0;j<width;j++)
     {
      for (k=0;k<channels;k++)
          {
         data[i*step+j*channels+k]=255-data[i*step+j*channels+k];
          }
     }
    }

       cvShowImage("Win",img);

       cvWaitKey(0);

       cvReleaseImage(&img);
    return 0;

    }

     


    罗罗
    2010年11月26日 5:16

全部回复

  • 你看了链接器工具错误 LNK2001的帮助没有?

    The following is signature, not part of post
    Please mark the post answered your question as the answer, and mark other helpful posts as helpful, so they will appear differently to other users who are visiting your thread for the same problem.
    Visual C++ MVP
    • 已标记为答案 紫柔 2011年3月4日 16:17
    • 取消答案标记 紫柔 2011年3月4日 16:17
    2010年11月26日 15:07
    版主