我是使用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;
}
答案 0 :(得分:3)
这与opencv
无关 C字符串中的 "\"
表示下一个字符是转义码,使用"\\"
或"/"