在 Windows Server 2012 R2 中使用 OpenCV 的 Canny 函数时 C++ 崩溃
Posted
技术标签:
【中文标题】在 Windows Server 2012 R2 中使用 OpenCV 的 Canny 函数时 C++ 崩溃【英文标题】:C++ crash when using OpenCV's Canny function in Windows Server 2012 R2 【发布时间】:2019-01-07 09:43:24 【问题描述】:while (true)
cap.read(frame);
if (frame.empty())
cap.release();
break;
cv::cvtColor(frame, frame, CV_BGR2GRAY);
cv::GaussianBlur(frame, frame, cv::Size(3, 3), 1.8);
cv::Mat edgeImage;
cv::Canny(frame, edgeImage, 120, 255, 5);
imshow("window", edgeImage);
cv::waitKey(15);
带有 Update3 的 Visual Studio 2015。 使用 OpenCV 3.4.3(x64) 构建它 x64。
这是一个很奇怪的错误。
在 Windows7 中运行此应用程序时,就可以了。但在 Windows Server 2012 R2 中,无法正常工作。 应用程序崩溃并死机。
应用程序崩溃后,我在控制面板的事件查看器中找到了日志。
无法访问文件 'C:\Windows\System32\vcruntime140.dll'
但是文件在那里,而且我安装了所有的 VC++ 运行时再分发包(2005,2008,2010,2012,2013,2015)x86 和 x64。
更多,这里有最好的东西。 当我评论 cv::Canny 和应用程序工作得很好! (当然我把下面的 imshow 改成 imshow("window", frame);)
我不知道这个应用程序发生了什么... 请给我任何建议。
由于某些原因,我无法在 Server 2012 R2 中使用 VS2015 对其进行调试
【问题讨论】:
【参考方案1】:问题解决了。
服务器 CPU 是 Intel Xeon Gold 6126。
我认为 OpenCV 3.4.3 有一个 bug。
OpenCV 3.4.5 效果很好。
【讨论】:
以上是关于在 Windows Server 2012 R2 中使用 OpenCV 的 Canny 函数时 C++ 崩溃的主要内容,如果未能解决你的问题,请参考以下文章
如何去除 windows server 2012 r2 自动锁定
windows server 2012 r2(GUI)密码遗失处理
windows server 2012 r2安装哪个版本的step7