python 含子图的gif生成时内存溢出的方法

yipeiwu_com7年前Python基础

今天想用python做个demo,含两个子图的动态gif,代码如下:

import matplotlib.pyplot as plt
import imageio,os
import matplotlib
 
 
# plt.ion()
 
fig=plt.figure(0)
ax1=plt.subplot(121)
ax2=plt.subplot(122)
 
ax1.set_title('input')
ax2.set_title('GT')
 
 
for i in range(1000):
  img1=plt.imread('F:\\pythonprogram\\test_bord/path\\enc_in_img\\{}.png'.format(i))
  img2 = plt.imread('F:\\pythonprogram\\test_bord/path\\dec_out_img\\{}.png'.format(i))
  ax1.imshow(img1)
  ax2.imshow(img2)
  # ax2.axis('off')
  plt.pause(0.00001)
  plt.cla()
 
plt.show()

首先分别将画布分为两块,分别循环读如图片,显示图片后暂停,再清除原图像~

但是由于plt.cla()只能作用于最后一个子图,第一块子图读取过程中占用大量内存导致内存溢出,目前没找到解决办法。

最后在matlab上完成这个工作。

以上这篇python 含子图的gif生成时内存溢出的方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持【听图阁-专注于Python设计】。

相关文章

python判断一个集合是否为另一个集合的子集方法

实例如下所示: a = [1,2,3,4] b = set([1,2]) b.issubset(a) 以上这篇python判断一个集合是否为另一个集合的子集方法就是小编分享给大家的...

Tensorflow卷积神经网络实例

Tensorflow卷积神经网络实例

CNN最大的特点在于卷积的权值共享结构,可以大幅减少神经网络的参数量,防止过拟合的同时又降低了神经网络模型的复杂度。在CNN中,第一个卷积层会直接接受图像像素级的输入,每一个卷积操作只处...

python opencv 读取图片 返回图片某像素点的b,g,r值的实现方法

如下所示: #coding=utf-8 #读取图片 返回图片某像素点的b,g,r值 import cv2 import numpy as np img=cv2.imread('....

python之消除前缀重命名的方法

● 脚本用途 遍历文件夹下的文件,消除文件名前的特征字符串。 ● 脚本实现 import os,sys import re from string import Template...

Python3之字节串bytes与字节数组bytearray的使用详解

字节串bytes 字节串也叫字节序列,是不可变的序列,存储以字节为单位的数据 字节串表示方法: b"ABCD" b"\x41\x42" ... 字节串的构造函数: bytes()...