最近使用pdf2image將PDF轉(zhuǎn)換為圖片時,使用如下代碼:
pil_images = pdf2image.convert_from_path(pdf_path, dpi)
images = []
for pil_img in pil_images:
img = np.asarray(pil_img)
try:
img.setflags(write=1)
except Exception as e:
logger.warn(e)
images.append(img)
這里加入異常處理吼拥,是因為倚聚,每次執(zhí)行img.setflags(write=1)
,都會報如下錯誤:
cannot set WRITABLE flag to True of this array
雖然保存圖片是可以的凿可,但是沒有辦法基于圖像相關的ndarray做后續(xù)的畫框等操作惑折。
查了一下資料,做如下處理即可:
img = np.require(img, dtype='f4', requirements=['O', 'W'])
完整代碼如下:
pil_images = pdf2image.convert_from_path(pdf_path, dpi)
images = []
for pil_img in pil_images:
img = np.asarray(pil_img)
img = np.require(img, dtype='f4', requirements=['O', 'W'])
try:
img.setflags(write=1)
except Exception as e:
logger.warn(e)
images.append(img)