最近使用pdf2image將PDF轉(zhuǎn)換為圖片時(shí),使用如下代碼:
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)
這里加入異常處理,是因?yàn)?,每次?zhí)行img.setflags(write=1),都會(huì)報(bào)如下錯(cuò)誤:
cannot set WRITABLE flag to True of this array
雖然保存圖片是可以的,但是沒有辦法基于圖像相關(guān)的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)