OpenCV cvLoadImage函数不适用于显式路径

时间:2012-06-14 22:23:47

标签: opencv

我是使用OpenCV的新手,在尝试使用cvLoadImage()函数加载图像时遇到了问题。

以下代码尝试使用(1)工作目录(注释掉的代码行)或(2)桌面上文件的显式路径来加载映像“testImg.bmp”。请注意,两个图像文件完全相同,只是它们位于两个位置(即工作路径不是桌面)。

当我使用第一行(注释掉的行)运行程序时,图像被加载并显示在窗口中。但是,当我按程序运行程序时(即使用桌面上图像的显式路径),会弹出一个空窗口并弹出错误消息(“无法加载图像”消息)。

非常感谢任何帮助告诉我显式路径行的错误,因为将图像文件移动到工作目录通常是不可行/不可取的。

#include "stdafx.h"

#include "opencv/cv.h"
#include "opencv/highgui.h"

using namespace std; 

int main(int argc, CHAR* argv[])
{
    //IplImage* img = cvLoadImage("testImg.bmp");
    IplImage* img = cvLoadImage("C:\Users\Jeremy\Desktop\testImg.bmp");

    if(!img)
        std::cerr<<"Unable to load image"<<endl;

    cvNamedWindow("myfirstwindow");
    cvShowImage("myfirstwindow",img);

    cvWaitKey(0);
    cvReleaseImage(&img);
    return 0;
}

1 个答案:

答案 0 :(得分:3)

这与opencv

无关 C字符串中的

"\"表示下一个字符是转义码,使用"\\""/"