使用 pil/任何 python 包进行图像分割
我需要将图像分割成多个区域。我正在使用 pil。我发现 pil 中没有用于分割图像的模块。我需要这个分段区域作为列表或字典。
实际上,我正在尝试比较图像在内容感知时尚中的相似性。为此,我需要对图像进行分段。我尝试了 segwin 工具,但它正在绘制另一个图像(这不是必需的并且也耗时)而
不是提前
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(4)
将图像分割成区域的最简单方法是创建另一个称为标签图的图像。 “区域 1”由标签图中所有值为 1 的像素表示,依此类推。如果您需要“区域 3”的像素,您只需将阈值等于 3 的标签图二值化,然后将结果与原始图像相乘。
和 Oliver 一样,我建议 WrapItk。
The easiest way to segment an image into regions is creating an other image called labelmap. The "region 1" is represented by all the 1 valued pixels within the labelmap, and so on. If you need the pixels of the "region 3" you just binarize the labelmap with a thershold equal to 3 and multiply the result with the original image.
Like Oliver I advise WrapItk.
对于这个任务,我更喜欢 numpy 和 scipy。在图像处理方面,这两个可以满足您的所有需求。对于数组数学,我推荐 numexpr。看看 http://docs.scipy.org/doc/scipy/reference /ndimage.html
For this task i prefer numpy and scipy. In terms of image processing these two have all you need. For array math i recommend numexpr. Take a look at http://docs.scipy.org/doc/scipy/reference/ndimage.html
看一下PIL手册,可以使用“crop ” 函数获取图像的子区域。
Take a look at the PIL Handbook, you can use the "crop" function to get a subregion of the image.
您可能想尝试使用 python 绑定 .itk.org/" rel="nofollow noreferrer">ITK,C++ 中的分段工具。
You might want to try the python bindings for ITK, a segmentation tool in C++.