我正在使用 cvloadimage 在我的程序中打开一个图像。图像位于外部目录中,使用文件名中的当前时间生成。

当我尝试以这种方式加载图像时:

IplImage *image = cvLoadImage(path.c_str,CV_LOAD_IMAGE_COLOR);

图像结构将为 NULL,应用程序将因 q 段错误而停止。
当我尝试以这种方式加载图像时:
IplImage *image = cvLoadImage("path/images/image_2012_11_25.jpg",CV_LOAD_IMAGE_COLOR);

那么它工作得很好。

问题是 cvLoadImage 不能接受任何类型的文本,只能接受 const char* 吗?
但是 c_str() 将 string 转换为 char* ,对吗?

我怎么解决这个问题?

最佳答案

我在写入文件时遇到了同样的问题,所以我使用了下面的代码:

const char *M=s.c_str();
 file.write(M,s.size());

希望它有效...

关于opencv - cvLoadImage 适用于字符串常量,但不适用于 c_str(),我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/13767434/

10-12 19:44