Image processing 自动网络摄像头应用程序/硬件问题

Image processing 自动网络摄像头应用程序/硬件问题,image-processing,webcam,Image Processing,Webcam,我开始开发一个自动网络摄像头应用程序。目标是自动拍照,进行一些图像处理,然后将结果上传到FTP站点。所有这些任务似乎都很简单 然而,我很难找到一个像样的相机。我不想使用简单的网络摄像头或高清网络摄像头,因为静止帧的图像质量不是很好。 我也很难找到一个负担得起的数码相机支持USB快照或控制 我的第二个关切是发展本身。我不太确定该用哪种编程语言。我有AS3、处理、java和一些简单C++和开放cv的经验。 你有线索吗 关于摄像头,你可以找到相当好的网络摄像头,有些是高清质量的。看看Logitech上

我开始开发一个自动网络摄像头应用程序。目标是自动拍照,进行一些图像处理,然后将结果上传到FTP站点。所有这些任务似乎都很简单

然而,我很难找到一个像样的相机。我不想使用简单的网络摄像头或高清网络摄像头,因为静止帧的图像质量不是很好。 我也很难找到一个负担得起的数码相机支持USB快照或控制

我的第二个关切是发展本身。我不太确定该用哪种编程语言。我有AS3、处理、java和一些简单C++和开放cv的经验。
你有线索吗

关于摄像头,你可以找到相当好的网络摄像头,有些是高清质量的。看看Logitech上的摄像头(我测试了他们的API,非常好),高清摄像头零售价为99美元,非常便宜。如果你想找更好的东西,我会选择尼康,因为他们也有一个很好的C#/C++API。只要500美元,你就可以买到一台配有简单28毫米镜头的基本单反相机。尼康停止支持他们的API时,不要使用PowerShot。无论你决定购买什么样的相机,都要确保有一个合适的API可用,并且是免费维护的

关于开发,我会用C/J/java进行,因为它们比C++更容易。对于C#/Java,有相当多的图像处理库,只需确保相机附带适合您选择语言的API即可


祝你好运。

通常(根据经验),大多数通过Windows显示为成像设备的USB摄像头都可以与JAI[Java Advanced imaging]一起使用。此外[在.net/c++端],相同的摄像头可以通过DirectShow用作捕获设备。Java/C#将使开发变得更容易,但可能会降低一些性能[即使进行了最好的优化]。此外,您只能执行高达相机速度的操作,并且从相机到计算机的数据线[USB1.0将严重限制像样的帧速率]

首先在RAM中获取图像:
如果您使用的是CHDK,我建议您使用CHDK支持的脚本语言将图像从相机内存复制到RAM中,您可以从CHDK论坛获得帮助

或者,如果这很困难,您可以连续地将映像复制到硬盘,然后从那里加载到RAM中。(您需要在短时间内处理(删除)硬盘上积累的海量图像!)
这听起来像是一种“蛮力”方法,但在您研究正确方法的同时,它会让您的工作继续进行

执行图像处理:
一旦图像进入RAM,您可以像往常一样应用图像处理算法,例如使用opencv库


希望这对您有所帮助

谢谢您的回答。我会查出来的。谢谢,但我正试图用CHDK解决这个问题,因为我已经有了硬件,你可以发布到Logitech API?的链接?。我买了C910型号,没有看到任何API,只有他们的“封闭”软件——“罗技网络摄像头软件”。或者,使用它不给你高清。甚至当我尝试微软Expression时,我也没有从这个网络摄像头中获得真正的高清效果。这一切都取决于你需要的质量。大多数(所有)网络摄像头都倾向于压缩摄像头端的图像,以便图像能够以足够快的速度通过USB进行视频传输。如果您想要未压缩的数据,您必须进一步投资更多美元。网络摄像头项目已经过去了几年,我找不到API,我怀疑它是否适用于较新的摄像头。