C# 多点触摸帮助?USB网络摄像头输入?图像分析?

C# 多点触摸帮助?USB网络摄像头输入?图像分析?,c#,.net,image-processing,computer-vision,multi-touch,C#,.net,Image Processing,Computer Vision,Multi Touch,我正在尝试做一个DIY触摸屏,我想把它加入当地的科学博览会,但我想在多点触摸的编程方面做到这一点。我的问题在于,我从未使用过基于USB的网络摄像头分析图像。 如果可能的话,我想用C++做这个项目。 我需要分析来自USB网络摄像头的黑色图片,然后检测白色斑点何时出现。我该怎么做呢?-有没有已知的方法可以检测变化而不是分析每个pxl?如果是这样的话,一个指向它所在位置的指针就很好了: 另外,我如何通过USB从网络摄像头获取输入?-在哪里可以获取库/ddl? 我见过一些使用这个功能的程序,但它们会转换

我正在尝试做一个DIY触摸屏,我想把它加入当地的科学博览会,但我想在多点触摸的编程方面做到这一点。我的问题在于,我从未使用过基于USB的网络摄像头分析图像。 如果可能的话,我想用C++做这个项目。 我需要分析来自USB网络摄像头的黑色图片,然后检测白色斑点何时出现。我该怎么做呢?-有没有已知的方法可以检测变化而不是分析每个pxl?如果是这样的话,一个指向它所在位置的指针就很好了: 另外,我如何通过USB从网络摄像头获取输入?-在哪里可以获取库/ddl? 我见过一些使用这个功能的程序,但它们会转换图像-这会占用时间和处理器速度。。。是否有办法使用原始输入图像/数据?
帮助?

作为网络摄像头的起点,我将从这里开始:


您将看到一些链接,但我建议您从这里开始,因为这篇文章中Scott讨论了不同的挑战和常见问题,并提供了指向更多信息的链接。

作为网络摄像头的起点,我将从这里开始:


您将看到一些链接,但我建议您从这里开始,因为这篇文章中Scott讨论了不同的挑战和常见问题,并提供了指向更多信息的链接。

您需要的是斑点检测。这里有一个关于一个问题的好线索

已经有一堆多点触摸/计算机视觉库和软件。这类事情最好的资源是。特别是这一部分。目前没有太多的C信息,但如果你确实发现了一些东西,请确保你把它放在那个维基上


还有一个方法应该会对你有很大帮助。该社区提供了一些很大的帮助。

您需要的是斑点检测。这里有一个关于一个问题的好线索

已经有一堆多点触摸/计算机视觉库和软件。这类事情最好的资源是。特别是这一部分。目前没有太多的C信息,但如果你确实发现了一些东西,请确保你把它放在那个维基上


还有一个方法应该会对你有很大帮助。在这个社区中有一些很大的帮助。

一旦你有了你的输入,你将假设它是完全黑暗和完全明亮的对比,你将有一个类似的值矩阵:灰度

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时,您将遇到更多问题

其中一些问题包括:

水滴碰撞你怎么知道哪个水滴去了哪里 Blob交叉点Blob是否在两侧切换,或Blob是否在与前一行程相反的方向移动 两个水滴合并成一个水滴
要使用C抓取相机,您可能希望WIA不是用于拍照的最快方法。然而,处理起来要容易得多。如果你仍然有兴趣的话,我给你的建议是在photoshop中绘制两幅图像并跟踪标记。它没有那么令人兴奋,但它将帮助您更轻松地解决问题,并放松问题描述。

一旦您有了输入,您将假设它是完全黑暗和完全明亮的对比,您将有一个类似于以下内容的值矩阵:灰度

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时,您将遇到更多问题

其中一些问题包括:

水滴碰撞你怎么知道哪个水滴去了哪里 Blob交叉点Blob是否在两侧切换,或Blob是否在与前一行程相反的方向移动 两个水滴合并的地方 一
要使用C抓取相机,您可能希望WIA不是用于拍照的最快方法。然而,处理起来要容易得多。如果你仍然有兴趣的话,我给你的建议是在photoshop中绘制两幅图像并跟踪标记。虽然没有那么令人兴奋,但它可以帮助您更轻松地解决问题并放松问题描述。

要从网络摄像头获取图像,该框架非常易于使用!查看运动检测示例应用程序以获取代码:

要从网络摄像头获取图像,该框架非常易于使用!查看运动检测示例应用程序以获取代码: