1

在最后一个问题之后:在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,但我需要的不仅仅是将像素值转换为一次。我需要考虑近像素之间的关系。我能怎么做?

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

4

1 回答 1

4

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

  1. 编写一个分水岭的实现,它适用于瓦片并在图像的许多通道上进行迭代。这对我来说听起来很难。
  2. 使用本地方法进行分割(即阈值化)。
  3. 买一台内存更大的电脑。RAM 很便宜,您可以将大量内存放入桌面系统。
于 2012-07-27T14:40:06.610 回答