我正在尝试运行以下代码:
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;
}
...
}
Run Code Online (Sandbox Code Playgroud)
现在,我知道每当 argv[1] 引用的资源不存在时,我都会收到类似警告
warning: Error opening file (../../modules/highgui/src/cap_ffmpeg_impl.hpp:545)
Run Code Online (Sandbox Code Playgroud)
我想要的是从控制台输出中抑制这个和任何其他警告或错误,因为我想自己提供一个简单、更容易理解的错误。据我了解,对 cv::redirectError 的调用应该有效。我还尝试创建一个虚拟错误处理函数并使用指向该函数的指针调用 cv::redirectError ,但我仍然收到相同的警告。
查看警告指向的文件的源代码,我看到它是 CV_WARN 宏被替换,从同一个源文件来看,它要么是对 fprintf 的调用,要么什么也没有。
任何帮助表示赞赏。
| 归档时间: |
|
| 查看次数: |
1966 次 |
| 最近记录: |