'scipy.misc' has no attribute 'imsave'解決辦法

背景

調用scipy.misc模塊中imsave保存圖片遇到的問題。

原因

其實是1.20版本之前的scipy模塊中有imread 和imsave的方法,但在1.20版本後換成了其他的函數。
如imsave換成了imageio.imwrite。

imsave` is deprecated in SciPy 1.0.0, and will be removed in 1.2.0.
Use ``imageio.imwrite`` instead.

解決辦法

1.scipy版本回退(\color{#FF3030}{不推薦}

因爲版本回退後會造成該模塊與環境中的tensorflow包或者其他包的不兼容,後續還得再更新回來,或者是單獨建一個環境,比較麻煩。版本回退的pip指令如下:

pip install scipy==1.2.1 -i https://pypi.tuna.tsinghua.edu.cn/simple

2.使用opencv或者是matplotlib保存圖片即可(\color{#FF3030}{推薦}

opencv的方法:

import cv2 
# 讀取
img = cv.imread(imagepath)
# 顯示
cv2.imshow('window_title',img)
cv2.waitKey(0)
cv2.destroyAllWindows()
# 保存
cv.imwrite(savepath, img)

matplotlib保存圖片的方法

from PIL import Image
import matplotlib.pyplot as plt

plt.imshow(img)
plt.savefig(img_name+'.png')# 圖像保存
plt.show()

Reference

cv2

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章