【问题标题】:implement image segmentation with python generator用python生成器实现图像分割
【发布时间】:2012-07-27 22:40:06
【问题描述】:

在最后一个问题之后:read big image file as an array in python

由于我笔记本电脑的内存限制,我想用 python 生成器实现图像分割算法,它可以一次读取每个像素,而不是整个图像。

我的笔记本电脑是 Window 7(64 位操作系统),配备 4G 内存和 Intel(R) Core (TM) i7-2860 QM CPU,我正在处理的图像超过 2G。我要应用的算法是分水岭分割:http://scikits-image.org/docs/dev/auto_examples/plot_watershed.html

我能找到的唯一类似的例子是http://vkedco.blogspot.com/2012/04/rgb-to-gray-level-to-binary-python.html,但我需要的不仅仅是一次转换一个像素值。我需要考虑近像素之间的关系。我能怎么做?

对我有什么想法或提示吗?提前致谢!

【问题讨论】:

  • ISTM 您不妨减小图像大小(我的意思是对像素数或调色板进行下采样,而不是裁剪),使其足够小以供使用。如果分割足够稳健以至于可靠,那么无论如何它都可以处理 200M 的图像。

标签: python image-processing python-2.7


【解决方案1】:

由于 RGB 到灰度级的转换操作是纯本地的,因此流式处理方法是微不足道的;像素的位置无关紧要。分水岭是一项全球业务。一个像素可以显着改变输出。您有多种选择:

  1. 编写一个分水岭的实现,它适用于图块并在图像的许多通道上进行迭代。这对我来说听起来很难。
  2. 使用本地方法进行分割(即阈值化)。
  3. 获取具有更多 RAM 的计算机。 RAM 很便宜,您可以将大量内存放入桌面系统。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2019-12-30
    • 2021-01-16
    • 2017-03-19
    • 1970-01-01
    • 2013-12-05
    • 1970-01-01
    • 1970-01-01
    • 2016-11-04
    相关资源
    最近更新 更多