相关疑难解决方法(0)

如何在C程序中获取当前目录?

我正在制作一个C程序,我需要从中获取程序启动的目录.该程序是为UNIX计算机编写的.我一直在寻找opendir()telldir(),但telldir()返回off_t (long int),所以它确实没有帮助我.

如何在字符串(char数组)中获取当前路径?

c unix working-directory

157
推荐指数
4
解决办法
25万
查看次数

使用版本库时,OpenCV imread(filename)在调试模式下失败

我有一些C++代码,除了函数之外,OpenCV的一切都运行良好imread(file).它正确找到文件并加载名称,但它没有加载任何数据.

Mat pattImage = imread(fileName, 0);
Run Code Online (Sandbox Code Playgroud)

在网上进行了一些研究后,我意识到我处于调试模式,但是发布了OpenCV库,而不是调试版.

debug library:    opencv_core231d.lib
release library:  opencv_core231.lib
Run Code Online (Sandbox Code Playgroud)

虽然这是一个典型的愚蠢错误,我认为这不应该做任何事情,调试库应该允许OpenCV代码调试,而发布库允许更快地执行代码,但我不明白为什么imread失败.

谁能解释一下OpenCV中调试发布库之间的区别以及为什么会出现这个错误?

它是OpenCV的错误吗?

c++ opencv image-processing libraries

22
推荐指数
2
解决办法
3万
查看次数

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

我正在尝试为OpenCV制定一个简单的hello世界,但是为什么它不起作用的想法已经用完了.

当我编译并运行此代码时:

#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;
}
Run Code Online (Sandbox Code Playgroud)

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

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

大多数示例程序似乎工作正常,所以我更加困惑的是,代码如何加载样本jpgs就好了,但在上面的代码中它不起作用(甚至试过样本jpeg).

更新

通过编译生成的可执行文件工作正常,但是每当我尝试运行调试器时,Visual Studio 2008调试器都会将空指针加载到img中 - 无论文件位置是隐式还是显式.

c++ opencv visual-studio-2008 visual-studio-debugging

6
推荐指数
1
解决办法
2万
查看次数