C++ 在项目文件夹中无法识别图像
当我在打开的cv项目中指定图像的目标文件夹路径时,它可以正常工作,但当我将该图像保留在项目文件夹中时,图像无法识别。 我尝试运行以下示例代码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
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中测试过它,但问题没有解决。只有指定映像路径才能解决错误。