在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 传递给它。这是否等效?
调用具有相同的效果。cv::imread
将 aconst std::string&
作为第一个参数,因此第一个版本将导致创建一个临时std::string
对象,该对象const char*
由filename.c_str()
.