我有一个巨大的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
那我该怎么办?是否有使用此类图像的解决方法?