从Web服务调用OpenCV

时间:2013-12-10 15:50:10

标签: c# c++ web-services opencv

我正在尝试从Web服务中调用OpenCV面部检测方法,但是我遇到了各种错误。不确定是否可以这样做或者之前是否有人尝试过。 这是我做的:

1-将http://docs.opencv.org/doc/tutorials/objdetect/cascade_classifier/cascade_classifier.html处的修改后的示例OpenCV代码编译为C ++ DLL。修改后的代码包含在下面

String face_cascade_name = "haarcascade_frontalface_alt2.xml";
CascadeClassifier face_cascade;

__declspec(dllexport) int __stdcall DetectFaceFromLumaBuffer (char *GrayBuf, int Rows, int Cols)
{
    if (face_cascade.empty())
    {
        if (!face_cascade.load(face_cascade_name))
        {
            return (-1);
        }
    }
    Mat LumaFrame (Rows, Cols, CV_8UC1, GrayBuf, Mat::AUTO_STEP);
    int Idx = 0;
    equalizeHist(LumaFrame, LumaFrame);             /* Equalize the image histogram  */

    std::vector<Rect> DetFaces;                     /* Array of detected rectangles */

    face_cascade.detectMultiScale (LumaFrame, DetFaces, 1.1, 3, 0|CV_HAAR_SCALE_IMAGE|CV_HAAR_FIND_BIGGEST_OBJECT, Size(10, 10), Size(LumaFrame.cols, LumaFrame.rows) );
    return (DetFaces.size());
}

2-使用平台调用从.NET C#应用程序调用DLL的DetectFaceFromLumaBuffer()。这很好。

3-使用平台调用也从Web服务调用相同的功能。本地IIS崩溃:IIS Express Worker Process已停止工作。

4-注释掉“equalizeHist(LumaFrame,LumaFrame);”行,调用生成异常“SEHException未被用户代码处理”

有什么想法吗? 我正在使用VS 2012 express和OpenCV 247

由于

0 个答案:

没有答案