在openCV中调用imread
之间的区别是什么?在我的本地机器上,它们都可以工作。
1) cv::imread(filename.c_str(), CV_LOAD_IMAGE_COLOR);
2) cv::imread(filename, CV_LOAD_IMAGE_COLOR);
在第一种情况下,我们将std::string转换为C风格的string。在第二种情况下,我们只是传递一个std::string给它。这两个呼叫相等吗?
调用具有相同的效果。cv::imread
以const std::string&
作为第一个参数,因此第一个版本将导致创建一个临时std::string
对象,该对象由filename.c_str()
返回的const char*
构造而成。