我想制作一个DIY触摸屏,并希望将其输入当地的科学博览会,但想在多点触控的编程方面进行。我的问题在于我从未与分析图像(从基于USB的网络摄像头)合作。
我想如果可能的话做这个项目在C#(C++ - 如果出现最坏的情况)
我需要分析一个黑色的画面(从USB网络摄像),然后检测时产生白色斑点进入视图。我会如何去做这件事? ---是否有一种已知的方法来检测变化与分析每个pxl?如果是这样一个指针,这将是很好的:)
另外我怎么会通过USB从网络摄像头获得输入? ---我在哪里可以得到图书馆/ ddl的?
我见过一些程序可以处理这个,但它们会转换图像 - 这会占用时间和处理器速度......有没有办法使用原始输入图像/数据?
帮助?C# - 多点触摸帮助? USB网络摄像头输入?图像分析?
回答
一旦你输入你将有(假设它是完全黑暗和非常鲜明的对比),你将有值的矩阵与此类似:(灰度)
0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 256 0 0 0 0 0
0 0 0 0 0 256 256 256 0 0 0 0
0 0 0 0 0 0 256 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0
你的工作需要分割出正确颜色值(256)的部分并确定位置。为了获得移动[假设你只跟踪1个对象],你将不得不比较blob的下一个位置和前一个位置。
在现实世界中,特别是使用网络摄像头时,您永远不会得到具有良好对比度的纯黑色背景。网络摄像头分辨率低,光线从未完美,噪声也从镜头和CCD缺陷/色彩逼近中增加。
此外,您可能会遇到跟踪斑点移动的问题(斑点可能在表面其他地方被错误检测到。当您尝试跟踪两个斑点时,将遇到更多问题。
其中的一些问题包括:
- 斑点碰撞(你怎么知道哪个BLOB去哪里)
- 斑点跨接管(没有的斑点换边,还是在斑点的相反方向移动从以前的旅行)
- 斑点组合(其中两个斑点成为一个)
要使用C#您可能希望to check this out. WIA是不是要用到的最快方法抢相机拍照。但是,处理起来要容易得多。我对你的建议如果你仍然对这样做感兴趣,那就是在Photoshop中绘制两幅图像并追踪标记。它不那么令人兴奋,但它会帮助您更轻松地解决问题并放宽问题描述。
至于启动机智的网络摄像头的地方,我会从这里开始:
http://www.hanselman.com/blog/CapturingVideoAWebCameraUsingWIANotPossible.aspx
你会有几个链接可循,但我建议你在这里开始,因为这是Scott谈论了不同的挑战和常见问题,并提供了更多信息的链接。
你想要的是“斑点检测”。这里有一个很好的线索blob library
已经有一堆多点触摸/计算机视觉库和软件。这种事情的最佳资源是wiki.nuigroup.com。特别是Frameworks and Libraries部分。目前这里没有太多的C#信息,但是如果你确实找到了一些东西,确保你把它放在每个人的wiki上。
还有NuiGroup forum C# (.NET/Silverlight/WPF) section应该帮助你很多。在这个社区有一些很大的帮助。
要从网络摄像头获取图像,AForge框架非常容易使用!检查运动检测示例应用程序的代码收集目的:)
- 1. 从网络摄像头获取输入
- 2. 从网络摄像头捕捉图像
- 3. 从网络摄像头捕捉图像
- 4. Logitech摄像头USB C Windows
- 5. 从网络摄像头捕获图像
- 6. C# - 多线程处理单个图像(网络摄像头帧)
- 7. Jquery网络摄像头需要网页帮助
- 8. 从网络摄像头图像保存
- 9. phoneGap摄像头和sencha触摸视图
- 10. 在ARM板(i.MX6)中流传输USB网络摄像头
- 11. C#摄像头在网络摄像头winform
- 12. 作为网络摄像头访问手机摄像头C++
- 13. 网络摄像头解析检测
- 14. AS3多个网络摄像头不显示第3个网络摄像头
- 15. 网络摄像头分辨率问题
- 16. 网络摄像头集成在asp.net帮助免费apis
- 17. 使用许多USB网络摄像头的影响
- 18. C#:从多个(USB)摄像头捕获静止图像
- 19. C#从网络摄像头捕捉图像
- 20. Aforge为网络摄像头
- 21. AMCap中的多个网络摄像头
- 22. 如何在C#中获取网络摄像头图像?
- 23. iPhone网络摄像头Feed
- 24. 网络摄像头校准
- 25. 网络摄像头捕捉
- 26. C#控制网络摄像头#
- 27. Actionscript中的多个网络摄像头
- 28. 使用触摸输入移动摄像头Cocos2D android
- 29. 网络摄像头流对等网络
- 30. 如何从Html网络摄像头拍摄图像