【问题标题】:null reference exception in emgu c#emgu c#中的空引用异常
【发布时间】:2014-05-13 10:24:46
【问题描述】:

我正在尝试使用网络摄像头捕捉图像,但遇到了一个空异常:

http://i89.photobucket.com/albums/k218/lololovelola/frame1null2_zps54bd24ce.png

调试过程中显示的

Frame1 具有null 值。但是,我放置了一个错误处理程序,即 if(frame1 != null) 那么它不应该进入条件,因为 Frame1 是 null

更奇怪的是,frame2 接受来自 frame1 的数据,在上图中显示它具有空值并且不保存图像捕获。补充一点,frame4 也接受来自 frame1 的相同图像。

http://i89.photobucket.com/albums/k218/lololovelola/frame2null_zps2198fbb0.png

我们将不胜感激以上任何帮助。提前谢谢!

【问题讨论】:

    标签: c# opencv webcam nullreferenceexception emgucv


    【解决方案1】:

    frame1 不为空。 frame1 的 data 属性为空。这意味着它将通过测试frame1!=null,但如果您使用frame1.Data!=null,您将避免该问题。

    也就是说,没有来自网络摄像头捕获的数据这一事实可能是一个完全不同的问题(或者不是;个别帧有时可能会有点奇怪,具体取决于您的网络摄像头)。这可能只是在一个更大的问题上贴上创可贴。

    【讨论】:

    • 嗨,迈克,我会试试的。我正在使用罗技网络摄像头,我担心的是为什么它在编辑 if 语句中的代码之前工作正常时变为空。此外,网络摄像头控制器弹出意味着检测到网络摄像头并且应该可以工作,但 2 秒后出现空异常。您知道为什么网络摄像头没有捕获图像并接收到空数据吗?
    • 您需要发布实际代码。另外,您使用的相机型号和分辨率等。从屏幕截图中我无能为力。
    • 我正在使用罗技 C910,拍摄 640 X 480 的视频,保存的视频文件扩展名为 .wmv,我使用 Freemake Video Converter 将其转换为 .avi。我在这里做了一个单独的清洁程序:dropbox.com/s/8ieed8x1lxow50a/videoFeed.rar这是转换后的.avi视频dropbox.com/s/8ieed8x1lxow50a/videoFeed.rar我想要的是能够逐帧分析视频。
    • @lololovelola 有一些源代码真的会有所帮助。您上面的评论是指您是先处理视频,然后再尝试处理它,或者这就是您将其发送给我的原因?
    • 我的新源代码/项目在上面的链接中。但是我为视频使用了错误的链接。是的,我将从视频文件中将其加载到我的 C# 程序中,并且它应该显示播放,同时它应该逐帧处理它。而且,我找到了解决问题的方法。我忽略了 opencv_ffmpeg.dll 是“始终复制”,我遵循这个 stackoverflow.com/questions/8472946/… 。它似乎可以解决问题。感谢您与我们联系。
    猜你喜欢
    • 2023-03-04
    • 1970-01-01
    • 2013-09-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-09-17
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多