如何抑制OpenCV警告

时间:2014-11-09 07:41:57

标签: c++ opencv

我正在尝试运行以下代码:

int main(int argc, char** argv )
{
    cv::redirectError(cvNulDevReport);
    std::string address(argv[1]);
    cv::VideoCapture cap(address); // open the camera
    if(!cap.isOpened())  // check if we succeeded
    {
        std::cerr<<"Error: Could not connect to camera.";
        return 0;
    }
    ...
}

现在,我知道每当argv [1]提到的资源不存在时,我都会收到类似

的警告
warning: Error opening file (../../modules/highgui/src/cap_ffmpeg_impl.hpp:545)

我想要的是从控制台输出中抑制此错误和任何其他警告或错误,因为我想自己提供一个简单,更易于理解的错误。据我所知,调用cv :: redirectError应该有效。我还尝试制作一个虚拟错误处理函数,并使用指向该函数的指针调用cv :: redirectError,但我仍然得到相同的警告。

查看警告指向的文件的源代码,我看到它是替换的CV_WARN宏,从同一个源文件看,它是对fprintf的调用,或者什么也没有。

感谢任何帮助。

0 个答案:

没有答案