我想使用Python执行一些基本的机器视觉任务,我想知道在哪里可以找到帮助我入门的教程。
据我所知,Python中唯一可以实现机器视觉的免费库是PyCV (它显然是OpenCV的一个包装器),但是我找不到任何合适的教程。
我的主要任务是从FireWire获取图像。对图像进行不同区域的分割。然后对每个区域进行统计,以确定像素面积和质心。
在此之前,我使用过Matlab的Image Processing Tootlbox,没有任何问题。我希望在Python语言中找到与之等效的函数是graythresh、regionprops和gray2ind。
谢谢!
发布于 2009-05-30 18:48:31
对于库来说,OpenCV可能是最好的选择;您可以为它们选择包装器。我查看了标准OpenCV安装附带的SWIG包装器,但最终还是使用了ctypes-opencv,因为它的内存管理似乎更简洁。
它们都是非常薄的C代码包装器,所以您能找到的任何C引用都适用于Python。
OpenCV非常庞大,文档也不是特别详细,但samples目录中包含了一些不错的示例,您可以使用它们来开始使用。here是一个可搜索的OpenCV应用编程接口参考。
您没有提到您是否在寻找在线或印刷资源,但我有一本O'Reilly的书,它非常好(用C编写的示例,但很容易翻译)。
FindContours函数有点类似于regionprops;它将为您提供一个已连接组件的列表,然后您可以检查该列表以获取它们的信息。
对于阈值设置,您可以尝试Threshold。我确信您可以向它传递一个标志来使用Otsu的方法,但它似乎没有在那里的文档中列出。
我还没有遇到与gray2ind对应的特定函数,但它们可能就在其中。
发布于 2009-05-30 18:34:25
文档:几年前,我在Python中经常使用OpenCV包装。OpenCV有广泛的文档,附带了许多示例,甚至还有一个book。我使用的Python包装器非常薄,因此几乎不需要特定于包装器的文档(这是许多其他包装库的典型情况)。我想花几分钟看一个示例,比如PyCV单元测试,就足够了,然后您就可以专注于适合您需求的OpenCV文档了。
分析:至于是否有比OpenCV更好的库,我有些过时的观点是,如果你想做相当高级的事情(例如对象跟踪),OpenCV是很好的,但它可能对你的需求有些过分了。听起来scipy ndimage结合一些基本的numpy数组操作可能就足够了。
获取:据我所知,获取的选项有OpenCV、Motmot或使用ctype直接连接到驱动程序。其中,我从来没有使用过Motmot,因为我在安装它时遇到了问题。我发现的其他方法相当简单,尽管我不记得细节(这是一件好事,因为它意味着它很容易)。
发布于 2010-09-13 03:33:17
我已经建立了一个关于这个主题的网站:pythonvision.org。它有一些教程,&c和一些软件链接。那里有更多的链接和教程。
https://stackoverflow.com/questions/887252
复制相似问题