我有兴趣编写一些基本的计算机化对象识别应用程序,所以我认为我需要一些图像处理算法的理论背景,以及一些用于决策能力的AI。
我是计算机科学专业的毕业生,有一天我打算获得硕士学位,希望能够进入这些领域。与此同时,我想先行一步,做一些自学。
所以我的问题是,我从哪里开始?我很欣赏正确方向的箭头,如果可能的话,还会有一些链接。
答案 0 :(得分:18)
您可能想查看这些类似问题的答案:
答案 1 :(得分:13)
也许看看:OpenCV。非常好的图像处理库,当你知道什么用于什么目的时,你可以看看“引擎盖下”知道它是如何工作的:)
答案 2 :(得分:7)
欢迎来到计算机视觉的有趣世界,它基本上是你用AI算法进行图像处理以进行识别/跟踪/分割等领域。不是详尽无遗,整个交易涉及图像采集,图像处理,图像分割,图像识别。
最简单的启动方式可能是OpenCV。然而,在大多数应用程序中,使用OpenCV可能过度,因为从头开始并不困难。一旦你超过了图片加载(你可能会考虑BMP,因为它最容易解析)部分,如果你只有数学公式,你可以实现许多基本的图像处理算法。还有其他你可以尝试的库,像torchvision,AForge(.NET)这样的东西都是不错的选择。
说到AI部分,这里的事情变得有趣。您可能希望在可以使用大量库的情况下使用SVM,例如libsvm,SVMlight等。
答案 3 :(得分:3)
如果您对书籍感兴趣,我建议John Russ介绍“图像处理和分析简介”。我还使用ImageJ作为一个优秀的免费图像分析应用程序 - 适用于原型设计和尝试。正如其他人所说,OpenCV库也非常值得关注。
答案 4 :(得分:2)
我已经编写了一些带有免费源代码的OpenCV图像处理/计算机视觉教程,因此您可能需要查看其中的一些内容以帮助我们开始:http://www.shervinemami.co.cc/openCV.html
答案 5 :(得分:1)
好的答案。我希望你不是数学恐惧症。我最喜欢的技术是Markov-Chain Monte Carlo(Google Spiegelhalter)。识别是一个优化问题,MCMC是通过贝叶斯推理处理它们的一般方法。
答案 6 :(得分:0)
用C#和C#实现的开源.NET SDK。微软最近发布了C ++,其中包含一些非常基本的网络摄像头接口和图像分析。可能值得花一点browse around the extremely well documented code来开始。