1. 程式人生 > 程式設計 >解決python中顯示圖片的plt.imshow plt.show()記憶體洩漏問題

解決python中顯示圖片的plt.imshow plt.show()記憶體洩漏問題

當要處理批量圖片,且每張圖片都要進行顯示時,用plt.imshow() plt.show()會出現記憶體洩漏,管理器中看到其中一個python程序的記憶體不斷上漲,目前有找到解決方法

from matplotlib import pyplot as plt
...
for...:
  ...
  plt.figure(figsize=IMAGE_SIZE)
  plt.imshow(image_np)
  plt.show()

補充知識:python在記憶體中讀取base64圖片

import base64
import skimage.io
import matplotlib.pyplot as plt

def base64_to_rgb(base64_str):
  """
  預設base64中的影象為rgb,直接轉換成即可
  :param base64:
  :return:
  """
  if isinstance(base64_str,bytes):
    base64_str = base64_str.decode("utf-8")

  imgdata = base64.b64decode(base64_str)
  img = skimage.io.imread(imgdata,plugin='imageio')
  return img

base = 'R0lGODlhdQAmAKIAAOYyL+rU4llg6Jmd8e92dCky4eEGAv///yH5BAAAAAAALAAAAAB1ACYAAAP/eLrc/jC2IEoZMATJu/9gyFVWIUyksIls677LUJbrEcxWDe98f+CWk4I0w/iOSNANKJQBC8mo9LEEDp8F3XR7rOIU2Cx3jHwKsUKyWqRhEEvGN3xN91BoCq8l9tTW/244Rk4mOkBGgIl8VjF+d4V5A5KKf3IWiCCEOZRraGxPnGqeIZpzoVyjDBptDpYmp1yumI9BWq5QUQS6fn+lm3lYmLdSBsW8xcjJBgAABLwfAMhXRQt6ODWuJ8rb3AYK0d3h4OHIBC7jC0TCYb/ZB+Th3/Dc4/PmLOgSvkwK+xjMAAEmCwhQnrc8rFSxGkiwnoFnEnTp0mdqlJw0DgIggwgu/08xABM+KkhGJdm9JJqMhGkyQIAATA3HxVwATuO8jyQfECiXJyYzZwzyOSilcqWEmzkP1ES6LGmDcStshjspNJAgMOwwNmBajGZXGyJVhU22quxOaR7hrahqQ52DC1jh/nj1AG0Eux3BLgu59x3SkxHO9mVLhJfcirUc2IWA96vUbvf+QkNbldCgIGCKHi6h1e/Bu1+VOiYHYAVTwBHyCfWyocoZzZovbf3ok1njzx/IltUg+GG13twMfta0gdDruLH3MOD6uaPDcI8hCAZp4/k24elmtOacGXlcPAuYe/VmnVt0ncioTyeYU+ibQRWOHyCRXEz40BDyivYWYBzQAIbTbeBUNTIZRF1QlNlVimGdfffLSPg9oJ9+vVV4H23smWSgFqrZZc0AWiTWACMXcjAhfgAqgxpXKwDXDXbZsSPjVcth6NNtZj3nzCpM1dDfPDACM+OQ9l2I1HiPlfNceentMoGLygQp5Eq3aKfYaUgOdBIB9RyYSEsmvASiFgG0RMRLEK2RAAA7'

img = base64_to_rgb(base)
plt.imshow(img)
plt.show()

以上這篇解決python中顯示圖片的plt.imshow plt.show()記憶體洩漏問題就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支援我們。