使用matplotlib生成图片,执行循环时速度变慢问题的解决方法

问题

近日进行大量图片转换工作时,使用plt.savefig()保存图片,在循环时迭代速度下降明显。
表现特点为内存占用率不高,但速度下降比较有规律。

参与循环部分:
	plt.rcParams['figure.figsize'] = (10.24, 10.24) 
    plt.rcParams['savefig.dpi'] = 50 
    plt.axis('off')
    plt.margins(0,0)
    plt.subplots_adjust(top=1,bottom=0,left=0,right=1,hspace=0,wspace=0)
    plt.imshow(img_arr,cmap=plt.cm.gray)
    plt.savefig(pathto + filename + ".jpg")

解决方案

通过添加plt.clf()于末尾,清除图片的信息,可有效避免溢出

	plt.rcParams['figure.figsize'] = (10.24, 10.24) 
    plt.rcParams['savefig.dpi'] = 50 
    plt.axis('off')
    plt.margins(0,0)
    plt.subplots_adjust(top=1,bottom=0,left=0,right=1,hspace=0,wspace=0)
    plt.imshow(img_arr,cmap=plt.cm.gray)
    plt.savefig(pathto + filename + ".jpg")
    plt.clf()
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值