在openCV上调用`imread`有什么区别?

时间:2013-05-10 11:08:50

标签: c++ c opencv

在openCV中调用imread之间的区别是什么?在我的本地机器上它们都有效。

1) cv::imread(filename.c_str(), CV_LOAD_IMAGE_COLOR);
2) cv::imread(filename,         CV_LOAD_IMAGE_COLOR);

在第一种情况下,我们将std :: string转换为C样式字符串。 在第二种情况下,我们只是将std :: string传递给它。 这个电话是等同的吗?

1 个答案:

答案 0 :(得分:2)

这些电话具有相同的效果。 cv::imreadconst std::string&作为第一个参数,因此第一个版本将导致创建一个临时std::string对象,该对象由const char*返回的filename.c_str()构成