今天,运行MTCNN/TensorFlow 实现人脸检测程序
,然后想要用matplotlib在循环语句中显示多张图片或自动关闭进入下一张图片显示,因为没事imshow()时需要手动关闭才能运行接下来的程序,这太麻烦了,现在可以给出自动关闭进入下一次显示的程序。


from __future__ import absolute_import from __future__ import division from
__future__import print_function from six import string_types, iteritems from
scipyimport misc import tensorflow as tf import detect_face import cv2 import os
importmatplotlib.pyplot as plt import numpy as np from pylab import * from
matplotlib.backends.backend_pdfimport PdfPages minsize = 20 # minimum size of
facethreshold = [0.6, 0.5, 0.5] # three steps's threshold factor = 0.709 #
scale factorgpu_memory_fraction = 0.1 print('Creating networks and loading
parameters') with tf.Graph().as_default(): gpu_options = tf.GPUOptions(
per_process_gpu_memory_fraction=gpu_memory_fraction) sess = tf.Session(config
=tf.ConfigProto(gpu_options=gpu_options, log_device_placement=False)) with
sess.as_default(): pnet, rnet, onet = detect_face.create_mtcnn(sess,None)
image_path ='zidonghua.jpg' img = misc.imread(image_path) factor_count=0
total_boxes=np.empty((0,9)) points=np.empty(0) h=img.shape[0] w=img.shape[1]
minl=np.amin([h, w]) m=12.0/minsize minl=minl*m # create scale pyramid scales=[]
whileminl >= 12: scales += [m * np.power(factor, factor_count)] minl = minl *
factor factor_count +=1 i=1 for scale in scales: hs=int(np.ceil(h*scale)) ws=int
(np.ceil(w*scale))#im_data = misc.imresize(img, (hs, ws)) im_data =
cv2.resize(img, (ws, hs),interpolation=cv2.INTER_AREA) # @UndefinedVariable
plt.ion() plt.figure(i) plt.imshow(im_data) plt.pause(5) plt.close() i=i+1这是
MTCNN中的部分程序,通过这个你可以看到等一段时间它会自动显示下一张图片,其实上面关键的是 plt.ion(),
你也可以把plt.close()注释掉,这样你就看到figure(1),figure(2)......等图片




友情链接
KaDraw流程图
API参考文档
OK工具箱
云服务器优惠
阿里云优惠券
腾讯云优惠券
华为云优惠券
站点信息
问题反馈
邮箱:[email protected]
QQ群:637538335
关注微信