zoukankan      html  css  js  c++  java
  • #misc# 如何优雅地刷新图片

    关于GAN的训练过程输出展示
    最近做GAN的事情,到了训练阶段,需要给炉子开个孔,定期看看里面发生了什么。但example里的程序实在是粗狂了(真不知大牛们写这段时发生了什么)。。。

    def visual(title, X):
        assert len(X.shape) == 4
        X = X.transpose((0, 2, 3, 1))
        X = np.clip((X+1.0)*(255.0/2.0), 0, 255).astype(np.uint8)
        n = np.ceil(np.sqrt(X.shape[0]))
        buff = np.zeros((n*X.shape[1], n*X.shape[2], X.shape[3]), dtype=np.uint8)
        for i, img in enumerate(X):
            fill_buf(buff, i, img, X.shape[1:3])
        buff = cv2.cvtColor(buff, cv2.COLOR_BGR2RGB)
        cv2.imshow(title, buff)
        cv2.waitKey(1)
    

    每次调用之后,或没反应或是一会儿就成未响应表情了,之前试过了一些方法(主要是试着改waitKey的参数)都没进展。
    今天下午觉得还是要处理这个问题。看了会儿CVmanual果断打消了从此入手的想法,决定试试pyplot,问题主要是每次调用plt.show()之后就陷入阻塞,
    于是看看有没有相应的接口,结果被发现了:),于是很快就有demo了:

    import numpy as np
    import matplotlib.pyplot as plt
    import cv2
    
    for i in xrange(100000):
    	img = np.random.randint(0,256,(300,400,3))
    	plt.close()
    	plt.close()
    	plt.figure()
    	plt.title('gout')
    	plt.imshow(img)
    
    	plt.figure()
    	plt.title('ggdt')
    	plt.imshow(img)
    
    	plt.show(block=False)
    	cv2.waitKey(1000)      # for test, optional
    
  • 相关阅读:
    声明对象指针,调用构造、析构函数的多种情况
    [C++ STL] 常用算法总结
    [C++ STL] map使用详解
    [C++ STL] set使用详解
    [C++ STL] list使用详解
    [C++ STL] deque使用详解
    Servlet课程0424(一) 通过实现Servlet接口来开发Servlet
    CSS盒子模型
    Spring学习之第一个hello world程序
    Java基础面试题
  • 原文地址:https://www.cnblogs.com/chenyliang/p/6797324.html
Copyright © 2011-2022 走看看