在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传递给它。 这个电话是等同的吗?
答案 0 :(得分:2)
这些电话具有相同的效果。 cv::imread
将const std::string&
作为第一个参数,因此第一个版本将导致创建一个临时std::string
对象,该对象由const char*
返回的filename.c_str()
构成