0

在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 传递给它。这是否等效?

4

1 回答 1

2

调用具有相同的效果。cv::imread将 aconst std::string&作为第一个参数,因此第一个版本将导致创建一个临时std::string对象,该对象const char*filename.c_str().

于 2013-05-10T11:12:13.257 回答