я уже прочитал изображение как массив:
import numpy as np
from scipy import misc
face1=misc.imread('face1.jpg')
размеры face1 равны (288, 352, 3)
мне нужно перебрать каждый пиксель и заполнить столбец y
в тренировочном наборе. Я использовал следующий подход:
Y_training = np.zeros([1,1],dtype=np.uint8)
for i in range(0, face1.shape[0]): # We go over rows number
for j in range(0, face1.shape[1]): # we go over columns number
if np.array_equiv(face1[i,j],[255,255,255]):
Y_training=np.vstack(([0], Y_training))#0 if blank
else:
Y_training=np.vstack(([1], Y_training))
b = len(Y_training)-1
Y_training = Y_training[:b]
np.shape(Y_training)`
Wall time: 2.57 s
Поскольку мне нужно выполнить описанный выше процесс примерно для 2000 изображений, есть ли более быстрый подход, при котором мы могли бы сократить время выполнения до миллисекунд или наонов секунд?
@njit
. Так что вы получите скомпилированную JIT-функцию, которая работает очень быстро - person Gioelelm   schedule 02.08.2017