使用PIL或任意Python库进行图像分割
我需要把一张图片分成几个区域。我在用PIL这个库,但找不到可以用来分割图片的模块。我希望能把这些分割后的区域以列表或字典的形式保存。
其实我是在尝试比较图片之间的相似性,想要根据内容来比较。为此,我需要先把图片分割开。我试过用segwin这个工具,但它画出来的又是一张新图片,这样不仅不需要,还浪费时间。
谢谢大家的帮助!
4 个回答
0
你可以看看这个 PIL手册,里面有介绍如何使用“裁剪”这个功能来获取图片的一部分。
1
对于这个任务,我更喜欢用numpy和scipy。这两个库在图像处理方面功能齐全,能满足你的需求。至于数组运算,我推荐使用numexpr。可以看看这个链接:http://docs.scipy.org/doc/scipy/reference/ndimage.html
2
将一张图片分成不同区域最简单的方法是创建另一张叫做标签图(labelmap)的图片。在这个标签图中,"区域1"用所有值为1的像素来表示,以此类推。如果你需要"区域3"的像素,只需将标签图进行二值化处理,设置阈值为3,然后把结果和原始图片相乘。
就像Oliver建议的,我也推荐使用WrapItk。