安装摄像机并为VideoCapture
提供未映射的int DeviceID
时,OpenCV输出(请注意std::cout
到Unable to stop the stream: Invalid argument
。)
我如何捕捉/抑制呢?
答案 0 :(得分:1)
您可以使用cv::redirectError
函数自己处理任何消息(例如断言)。例如,要使输出静音,可以使用以下代码:
#include <opencv2/opencv.hpp>
int dummy_error_handler(int status
, char const* func_name
, char const* err_msg
, char const* file_name
, int line
, void* userdata)
{
//Do nothing -- will suppress console output
return 0; //Return value is not used
}
void set_dummy_error_handler()
{
cv::redirectError(dummy_error_handler);
}
void reset_error_handler()
{
cv::redirectError(nullptr);
}
注意:如果实际消息来自其他来源,例如OpenCV使用的第三方库,则将需要采用其他方法。