JcM*_*aco 19 python matlab computer-vision
我想使用Python执行一些基本的机器视觉任务,我想知道在哪里可以找到帮助我入门的教程.
据我所知,唯一一个用于机器视觉的Python免费库是PyCV(显然是OpenCV的包装器),但我找不到任何合适的教程.
我的主要任务是从FireWire获取图像.在不同区域中分割图像.然后对每个区域进行统计,以确定像素区域和质心.
以前,我使用过Matlab的Image Processing Tootlbox没有任何问题.我希望在Python中找到等价的函数是graythresh,regionprops和gray2ind.
谢谢!
Kiv*_*Kiv 13
OpenCV可能是您图书馆的最佳选择; 你可以为他们选择包装纸.我查看了标准OpenCV安装附带的SWIG包装器,但最终使用了ctypes-opencv,因为内存管理似乎更清晰.
它们都是围绕C代码的非常薄的包装器,因此您可以找到的任何C引用都适用于Python.
OpenCV是巨大的,并没有特别好的文档记录,但样本目录中包含一些体面的样本,您可以使用它们来开始.可搜索的OpenCV API的参考是在这里.
你没有提到你是在寻找在线或印刷资源,但我有O'Reilly的书并且它非常好(C中的例子,但很容易翻译).
该FindContours功能是有点类似于regionprops; 它会为您提供已连接组件的列表,然后您可以检查这些组件以获取其信息.
对于阈值处理,您可以尝试阈值.我确信你可以通过一个标志来使用Otsu的方法,但它似乎没有列在那里的文档中.
我没有遇到与gray2ind相对应的特定功能,但它们可能在那里.
文档:几年前我使用OpenCV包装了很多Python.OpenCV有大量文档记载,附带了许多示例,甚至还有一本书.我使用的Python包装器足够薄,因此需要非常少的包装器特定文档(这对于许多其他包装库来说是典型的).我想几分钟看一个例子,比如PyCV单元测试就是你所需要的,然后你可以专注于适合你需要的OpenCV文档.
分析:至于是否还有比OpenCV的更好的图书馆,我有点过时的观点是,如果你想要做的比较先进的东西(如目标跟踪),即OpenCV的是伟大的,但它是为您的需求可能矫枉过正.听起来像scipy ndimage结合一些基本的numpy数组操作可能就足够了.
获取:我知道用于获取的选项是OpenCV,Motmot,或者使用ctypes直接连接到驱动程序.其中,我从未使用Motmot因为我在安装它时遇到了麻烦.我发现的其他方法相当简单,虽然我不记得细节(这是一件好事,因为这意味着它很容易).