程序化等效于 Gimp的连续选择工具



我需要自动分析许多类似的图像,这些图像基本上是在均匀的棕色背景上的许多黑色小斑点。

我尝试过simpleCV中的find_blobs方法,但它不够准确。然而,使用gimps连续选择工具,也被称为魔杖,我能够实现更好的结果,将背景从斑点中分离出来。

我的问题是,我需要自动化这个过程,所以我不能让一个人点击每个图像。有没有关于Python友好库的建议,我可以在其中找到这个功能?在批处理模式下使用Gimp是唯一的方法吗?

pdb.gimp_image_select_contiguous_color是在Python插件中实现魔杖的编程方式。缺点是,必须发布合适的起始坐标才能使其正常工作。可以在图像的三个远处点重复这个过程,如果选择在其中两个点上没有太大分歧,那么假设这就是你想要的。

该过程不会返回可绘制的选择,因此您必须通过发出pdb.gimp_image_get_selection。您还需要在调用pdb.gimp_context_set_sample_threshold之前通过调用它来设置阈值

(我的建议是:将其复制到另一张新图像中,将其调整为8x8像素的图像,从中可以获得像素值,并直接与其他选择进行比较);

OpenCV可能是答案,这个简短的教程可能会对您有所帮助。在这个例子中,它使用"模糊"使图像更加均匀,如果还不够,你还可以尝试侵蚀和扩张。

这些例子在C++中,但opencv-python绑定与C++接口非常相似,所以翻译它应该不会有任何问题。

最新更新