gpt4 book ai didi

c++ - OpenCV cvLoadImage() 不在 visual studio 调试器中加载图像?

转载 作者:塔克拉玛干 更新时间:2023-11-02 23:23:00 24 4
gpt4 key购买 nike

我正在尝试为 OpenCV 设计一个简单的 hello world,但我想不出为什么它不起作用。

当我编译并运行这段代码时:

#include <cv.h>
#include <highgui.h>
int main(int argc, char* argv[])
{
IplImage* img = cvLoadImage( "myjpeg.jpg" );
cvNamedWindow( "MyJPG", CV_WINDOW_AUTOSIZE );
cvShowImage("MyJPG", img);
cvWaitKey(0);
cvReleaseImage( &img );
cvDestroyWindow( "MyJPG" );
return 0;
}

我得到一个大约 200x200 的灰色框,而不是指定的 .jpg 文件。如果我使用不同的 jpg,我会得到相同类型的窗口,如果我输入无效的文件名,我会得到一个非常小的窗口(预期)。

我在 Windows 7 Professional 下使用 Visual Studio 2008。

大多数示例程序似乎都运行良好,所以我很困惑该代码如何加载示例 jpg 文件,但在上面的代码中它不起作用(甚至尝试了示例 jpeg)。

更新

编译生成的可执行文件运行良好,但每次我尝试运行调试器时,Visual Studio 2008 调试器都会将一个空指针加载到 img 中——无论文件位置是隐式还是显式。

最佳答案

myjpeg.jpg 的路径似乎真的有问题,因为在调试器下运行时当前目录可能不同。

默认情况下,Visual Studio 调试器使用的当前目录是包含 .vcproj 文件的目录,但您可以在项目属性(调试 -> 工作目录)中更改它。

您是否 100% 确定您正确传递了绝对路径?尝试将相同的路径传递给 fopen 并查看它是否也返回 NULL。如果是,则路径不正确。

如果您想准确查看库试图打开的文件,您可以使用 Project Monitormyjpeg.jpg 上使用过滤器。

关于c++ - OpenCV cvLoadImage() 不在 visual studio 调试器中加载图像?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2115816/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com