Emgu.CV.CvInvoke iisexpress.exe 异常
Emgu.CV.CvInvoke exception in iisexpress.exe
我在 Web 解决方案 ASP.NET MVC5 中使用库 Emgu.CV.World 和一组 类 x86。版本 EMGU:3.1.0.2282.
一会还行,后来把工程复制到同级目录下,改文件夹名,开始出现错误:
在iisexpress.exe中的0x2AF630B1(cvextern.dll)处抛出异常:0xC0000005:访问冲突读取位置0x00000000。
在相同库的 Win Forms 应用程序中实现了相同的功能,它可以正常工作。
但是网络应用程序总是崩溃,在这个方法上:CvInvoke.Threshold ().
使用 x86、x64 目录,将所有库复制到一个单独的目录中,将应用程序类型更改为任何 CPU,将 x86 更改为 x64,什么都不做。
在其他系统(64位)上试过也是一样的。最有趣的是它最初有效,即我的代码没有错误。
我用过 IIS Express 10,vs 2015 community。
非常感谢您的建议,谢谢
找到答案了。在最后的重构行中没有注意到错误的原因:imgGray.Dispose();
imageRotate = imgGray.Rotate(-avg, new Gray(255));
}
else
{
imageRotate = imgGray;
}
imgGray.Dispose();
//return imageRotate.Bitmap;
return BlackFilterImage(imageRotate);
}
private static Bitmap BlackFilterImage(Image<Gray, byte> img)
{
UMat resultImg = new UMat();
CvInvoke.Threshold(img, resultImg, 105, 255, ThresholdType.BinaryInv); //Error is here
不幸的是,错误的性质把我搞糊涂了。
我在 Web 解决方案 ASP.NET MVC5 中使用库 Emgu.CV.World 和一组 类 x86。版本 EMGU:3.1.0.2282.
一会还行,后来把工程复制到同级目录下,改文件夹名,开始出现错误:
在iisexpress.exe中的0x2AF630B1(cvextern.dll)处抛出异常:0xC0000005:访问冲突读取位置0x00000000。
在相同库的 Win Forms 应用程序中实现了相同的功能,它可以正常工作。 但是网络应用程序总是崩溃,在这个方法上:CvInvoke.Threshold ().
使用 x86、x64 目录,将所有库复制到一个单独的目录中,将应用程序类型更改为任何 CPU,将 x86 更改为 x64,什么都不做。 在其他系统(64位)上试过也是一样的。最有趣的是它最初有效,即我的代码没有错误。
我用过 IIS Express 10,vs 2015 community。
非常感谢您的建议,谢谢
找到答案了。在最后的重构行中没有注意到错误的原因:imgGray.Dispose();
imageRotate = imgGray.Rotate(-avg, new Gray(255));
}
else
{
imageRotate = imgGray;
}
imgGray.Dispose();
//return imageRotate.Bitmap;
return BlackFilterImage(imageRotate);
}
private static Bitmap BlackFilterImage(Image<Gray, byte> img)
{
UMat resultImg = new UMat();
CvInvoke.Threshold(img, resultImg, 105, 255, ThresholdType.BinaryInv); //Error is here
不幸的是,错误的性质把我搞糊涂了。