【发布时间】:2012-01-14 15:58:54
【问题描述】:
我正在使用 python 来处理我的图像处理项目。假设我有一个非常大的图像(100000 x 100000),我需要从这个大图像中随机选择一个 200 x 200 的正方形。有什么简单的方法可以完成这项工作吗?请与我分享一些光。谢谢
------------------ 编辑 ----- -------------------
对不起,我认为它不是 100000 x 100000,但图像的分辨率是 1 公里和 2 公里。我无法选择 200 x 200 的区域。
【问题讨论】:
-
图像是如何存储在内存中的?作为矩阵还是作为字节序列?
-
您在哪个部分遇到了问题? (a) 选择一个随机的 200x200 位置,(b) 从您的大图像中提取一个给定的正方形,或者 (c) 处理一个 100 亿像素的图像?
-
这是一个非常大的图像......要么是一个 疯狂的内存量(即 4*10^5*10^5 = 4*10^10 = 40 GIGABYTES 4bytes/pixel!)和一个非常非常快磁盘阵列和一个公平位时间还是使用可以分段的图像格式? (例如,单个文件或可以映射到)我觉得后者将是一个不错的选择......我敢打赌,已经有专门的解决方案可以这样做。
标签: python image-processing matplotlib python-imaging-library