如何将庞大的图像从PIL转换为cv2

时间:2016-05-05 13:25:06

标签: python opencv numpy python-imaging-library

我有一个巨大的PNG图像(625000000像素)以1格式通过PIL库保存。

我需要从磁盘加载此图像并将其传递给cv2.matchTemplate函数。

我无法直接传递从PIL库返回的图像,因为它需要numpy数组:

huge_img = Image.open('huge.png')
result = cv2.matchTemplate(huge_img, sub_img, cv2.TM_CCOEFF_NORMED)

输出

TypeError: <unknown> is not a numpy array

但是如果我尝试从图像对象构造一个numpy数组,它会抛出MemoryError异常:

huge_img = numpy.array(Image.open('huge.png'))

输出

MemoryError

那我该怎么办?是否有使用此类图像的解决方法?

0 个答案:

没有答案