如何使用 EmguCV c# 在 Content 文件夹中保存 IP 摄像机快照

英迪卡·赫拉特

我正在使用 EmguCV 3.4。我需要定期(5 分钟)存储来自 IP 摄像机的快照。我尝试在Content 文件夹(ASP.NET MVC) 中存储快照我得到了访问冲突异常。帮我。我的代码,

private VideoCapture _capture = null;
private Mat _frame;

public void GetSnapshot(CameraDTO cameraDTO)
{
    CvInvoke.UseOpenCL = false;
    try
    {
        _capture = new VideoCapture(cameraDTO.CameraAccessURL);
        _capture.ImageGrabbed += ProcessFrame;

        if (StartCapture())
        {
            while (_frame == null)
            {
                //wait untill camera ready
            }

            if (_frame != null && _capture != null)
            {
                Image<Bgr, Byte> imgeOrigenal = _frame.ToImage<Bgr, Byte>();
                imgeOrigenal.Save(@ImageSavepath + @"\ImageFromCamera" + cameraDTO.camID + ".jpg");
            }
        }
    }
    catch (Exception excpt)
    {
    Console.WriteLine(excpt.Message);
    }
}

private bool StartCapture()
{
    if (_capture != null)
    {
        _capture.Start();
        return true;
    }
    return false;
}

private void ProcessFrame(object sender, EventArgs e)
{
    try
    {
        if (_capture != null && _capture.IsOpened && _capture.Ptr != IntPtr.Zero && _frame != null)
        {
            _frame = new Mat();
            _capture.Retrieve(_frame, 0);
        }
    }
    catch (AccessViolationException exv)
    {
        Console.WriteLine("ERROR: {0}", exv.Message);
        return;
    }
    catch (Exception ex)
    {
        Console.WriteLine("ERROR: {0}", ex.Message);
        return;
    }
}

@ImageSavepath = Content 文件夹,随机产生问题

哈好

问题是你_frame在另一个线程中使用(跨线程操作)。您应该将图像保存在FrameProcess().

private void FrameProcess(object sender, EventArgs e)
    {
        try
        {
            if (_capture != null && _capture.IsOpened && _capture.Ptr != IntPtr.Zero && _frame != null)
            {
                _frame = new Mat();
                _capture.Retrieve(_frame, 0);
                Image<Bgr, Byte> imgeOrigenal = _frame.ToImage<Bgr, Byte>();
                imgeOrigenal.Save(@ImageSavepath + @"\ImageFromCamera" + cameraDTO.camID + ".jpg");
            }
        }
        catch (AccessViolationException exv)
        {
            Console.WriteLine("ERROR: {0}", exv.Message);
            return;
        }
        catch (Exception ex)
        {
            Console.WriteLine("ERROR: {0}", ex.Message);
            return;
        }
    }

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何在EmguCV C#中实时刷新网络摄像机的直方图?

来自分类Dev

使用OpenCV访问IP摄像机

来自分类Dev

无法使用OpenCv 3.4.5从具有C ++ dll的IP摄像机(rtsp)抓取帧

来自分类Dev

如何按需将帧从IP摄像机保存到磁盘?

来自分类Dev

如何有效地从IP摄像机读取和保存视频?

来自分类Dev

如何按需将帧从IP摄像机保存到磁盘?

来自分类Dev

Python 和 OpenCV:在 Exe 文件中使用 IP 摄像机断言失败

来自分类Dev

通过URL从IP摄像机获取快照图像

来自分类Dev

如何为我的IP摄像机网络摄像头自动在Linux中重命名,复制和删除文件?

来自分类Dev

使用python使用IP摄像机捕获单个图像

来自分类Dev

如何从IP摄像机解析mjpeg http流?

来自分类Dev

如何在Flutter中从IP摄像机下载图像

来自分类Dev

我如何从IP摄像机查找提要

来自分类Dev

使用FFMPEG记录IP摄像机流

来自分类Dev

Opencv:从IP摄像机使用RTSP时图片失真

来自分类Dev

可以使用SharpPcap在C#中查找我的网络中的IP摄像机吗

来自分类Dev

可以使用SharpPcap在C#中查找我的网络中的IP摄像机吗

来自分类Dev

使用应用程序脚本UrlFetchApp将IP摄像机视频保存到Google驱动器

来自分类Dev

如何将原始264文件转换为Luowice IP摄像机提供的MP4?

来自分类Dev

我如何知道网络中IP摄像机使用的所有IP地址

来自分类Dev

如何使用C#创建文件夹并在其中保存文件

来自分类Dev

Java在线程中保存大图像-IP摄像机损坏的图像

来自分类Dev

IP摄像机捕获

来自分类Dev

如何使用OpenCV对IP摄像机进行身份验证

来自分类Dev

如何在Dart上生成摘要密码以与IP摄像机通信

来自分类Dev

我该如何进行IP摄像机连接验证

来自分类Dev

如何配置sonicwall,以允许来自互联网的系统访问dlink ip摄像机?

来自分类Dev

使用cv2.VideoCapture()从IP摄像机读取流

来自分类Dev

使用Raspberry Pi和Android IP摄像机以及Python和OpenCV进行对象检测

Related 相关文章

  1. 1

    如何在EmguCV C#中实时刷新网络摄像机的直方图?

  2. 2

    使用OpenCV访问IP摄像机

  3. 3

    无法使用OpenCv 3.4.5从具有C ++ dll的IP摄像机(rtsp)抓取帧

  4. 4

    如何按需将帧从IP摄像机保存到磁盘?

  5. 5

    如何有效地从IP摄像机读取和保存视频?

  6. 6

    如何按需将帧从IP摄像机保存到磁盘?

  7. 7

    Python 和 OpenCV:在 Exe 文件中使用 IP 摄像机断言失败

  8. 8

    通过URL从IP摄像机获取快照图像

  9. 9

    如何为我的IP摄像机网络摄像头自动在Linux中重命名,复制和删除文件?

  10. 10

    使用python使用IP摄像机捕获单个图像

  11. 11

    如何从IP摄像机解析mjpeg http流?

  12. 12

    如何在Flutter中从IP摄像机下载图像

  13. 13

    我如何从IP摄像机查找提要

  14. 14

    使用FFMPEG记录IP摄像机流

  15. 15

    Opencv:从IP摄像机使用RTSP时图片失真

  16. 16

    可以使用SharpPcap在C#中查找我的网络中的IP摄像机吗

  17. 17

    可以使用SharpPcap在C#中查找我的网络中的IP摄像机吗

  18. 18

    使用应用程序脚本UrlFetchApp将IP摄像机视频保存到Google驱动器

  19. 19

    如何将原始264文件转换为Luowice IP摄像机提供的MP4?

  20. 20

    我如何知道网络中IP摄像机使用的所有IP地址

  21. 21

    如何使用C#创建文件夹并在其中保存文件

  22. 22

    Java在线程中保存大图像-IP摄像机损坏的图像

  23. 23

    IP摄像机捕获

  24. 24

    如何使用OpenCV对IP摄像机进行身份验证

  25. 25

    如何在Dart上生成摘要密码以与IP摄像机通信

  26. 26

    我该如何进行IP摄像机连接验证

  27. 27

    如何配置sonicwall,以允许来自互联网的系统访问dlink ip摄像机?

  28. 28

    使用cv2.VideoCapture()从IP摄像机读取流

  29. 29

    使用Raspberry Pi和Android IP摄像机以及Python和OpenCV进行对象检测

热门标签

归档