#include "cv.h"
#include "highgui.h"
#include <stdio.h>


int main(int argc, char* argv[]){
    cvNamedWindow("Window1", CV_WINDOW_AUTOSIZE);
    IplImage* image = 0;
    ->->image = cvLoadImage(argv[1]);<-<-
    if(!image) printf("Unable to load image!");
    cvShowImage("Window1", image);
    char c = cvWaitKey(0);
    cvReleaseImage(&image);
    cvDestroyWindow("Window1");
    return 0;
}

如果我将指示的行替换为cvLoadImage("247.png"),则会得到一个空白窗口,并且图像保持等于零

如果我运行该exe并将其作为参数247.png,那就太花哨了。如果我将“247.png”正确地放入代码中并构建并运行Visual Studio 2008,它将失败。如果我在命令提示符下生成并运行,它将起作用。

为什么是这样?我有点厌倦了前进,但又没有把它拖下去。

最佳答案

在项目->属性->配置属性->调试下,有一个字段“工作目录”。将其设置为要在其中执行的目录,并且应该可以解决该问题。

07-24 13:20