Я написал несколько Python в IDE Spyder, чтобы построить пару изображений бок о бок, чтобы я мог визуально осмотреть их. Мне нужно всего лишь 3 секунды, чтобы смотреть на них большую часть времени, но каждый раз в то время мне нужно больше поглядывать. Поэтому, я не использовал time.sleep, вместо этого я закодировал ждать для меня, чтобы нажать клавишу Enter, как показано ниже:ускорить нанесение изображений в matplotlib
import matplotlib.pyplot as plt
import os
def VI_segmentation():
root = os.getcwd()
NR_dir = root + '\\Neurite_Results\\'
SO_dir = root + '\\Segmentation_Overlays\\'
jpgs = os.listdir(NR_dir)
fig = plt.figure(figsize=(20,12))
for jpg in jpgs:
fig.suptitle(jpg , fontsize=14, fontweight='bold')
image_NR = plt.imread(NR_dir + jpg)
image_SO = plt.imread(SO_dir + jpg)
plt.subplot(121)
plt.imshow(image_NR)
plt.subplot(122)
plt.imshow(image_SO)
plt.draw()
plt.pause(0.01)
input('Press Enter to continue')
VI_segmentation()
Проблема заключается в том, что я думаю, быстрее, чем мой компьютер :). Требуется 5-6 секунд для того, чтобы компьютер стал реагировать на клавишу Enter и еще несколько секунд, чтобы обновить его после ответа. Делает для паршивой эргономики при прокручивании через сотни изображений, которые в основном прекрасны. Любые идеи по оптимизации этого кода будут высоко оценены.
Из-за того, что у вас нет этих изображений, вам необходимо предоставить дополнительную информацию. По крайней мере, что точно работает на вашей машине, прочитайте это о профилировании: http://stackoverflow.com/questions/5478351/python-time-measure-function – fghj