C++ 在项目文件夹中无法识别图像

C++ 在项目文件夹中无法识别图像,c++,opencv,C++,Opencv,当我在打开的cv项目中指定图像的目标文件夹路径时,它可以正常工作,但当我将该图像保留在项目文件夹中时,图像无法识别。 我尝试运行以下示例代码 include "opencv\cv.h" // include it to used Main OpenCV functions. #include "opencv\highgui.h" //include it to use GUI functions. int main(int argc, char** argv) { IplIm

当我在打开的cv项目中指定图像的目标文件夹路径时,它可以正常工作,但当我将该图像保留在项目文件夹中时,图像无法识别。 我尝试运行以下示例代码

include "opencv\cv.h"      // include it to used Main OpenCV functions.
#include "opencv\highgui.h" //include it to use GUI functions.

int main(int argc, char** argv)
{
    IplImage* img = cvLoadImage( "Desert.jpg" ); //change the name (image.jpg) according to your Image filename.
    cvNamedWindow( "Example1", CV_WINDOW_AUTOSIZE );
    cvShowImage("Example1", img);
    cvWaitKey(0);
    cvReleaseImage( &img );
    cvDestroyWindow( "Example1" );
    return 0;
}
当我指定
C:\Users\mia\Desktop\Desert.jpg时,问题就解决了

IplImage* img = cvLoadImage( "Desert.jpg" );
这是因为这里使用的是相对路径。如果是这样,您应该将图像放入
TargetDir
(您的程序应该生成到的目录)中



p.S.:正如@berak所评论的,您应该使用新的OpenCV的API(例如,使用
Mat
而不是
IplImage*
)。

哦,请不要再使用不推荐使用的c-API。(是的,在win中,如果从ide启动,则程序不会从项目文件夹启动,而是从debug或release启动)我是OpenCV和visual studio的初学者,所以请您解释一下从调试或发布开始的程序是什么意思。实际上,我正在运行其他人用旧c-api编写的代码,所以我必须使用它。我也在targetdir中测试过它,但问题没有解决。只有指定映像路径才能解决错误。