我意识到这个问题以前被问过。我已经阅读了答案并尝试了解决方案,但它并没有为我解决。
我在 Ubuntu 10.10(32 位)和 Eclipse C IDE 中使用 OpenCV 2.1。
我的问题:
如果我从文件中读取文本行,并将其存储在 char* 变量中并将其传递给 cvLoadImage,我什么也得不到。我从文件中读取的文本行是某个图像的完全定义的文件路径。
这是代码:
FILE *f = fopen("./input.txt","r");
char img1[50];
fgets(img1,50,f);
char* img3 = strtok(img1,"\n");
IplImage* frame = cvLoadImage(img3);
结果是帧现在是 0x00000000 并且没有图片
但
如果我将相同的文本作为参数传递给可执行文件,我可以将 argv[1] 存储到 char* 中并将其传递给 cvLoadImage() 并按预期读取图像。
这是代码:
char* img3 = argv[1];
IplImage* frame = cvLoadImage(img3);
我不确定这是什么原因。:秒
作为参数传递并在文件中传递的字符串正是:(包括引号)
"/home/atharva/Documents/FYP/1a.jpg"
谢谢