Применение Canny Edge Detector к значениям пикселей, хранящимся в файле CSV, с использованием opencv - PullRequest
0 голосов
/ 26 января 2020

HHi,

У меня есть CSV-файл, содержащий значения пикселей изображений, разделенных пробелом. CSV-файл содержит три столбца: «метка», которая показывает метку изображений, второй столбец содержит значения пикселей, разделенные пробелом, а третий столбец содержит «Использование», используется ли изображение для обучения или тестирования, как показано ниже.

CSV file containing pixel values, labels and usagge

Теперь я хочу извлечь значения пикселей из файла CSV и применить детектор Canny Edge к нему с помощью OpenCV, а затем сохранить в массиве в формате, как в код. В настоящее время я извлекаю значения пикселей, используя следующий код:

X_train,train_y,X_test,test_y=[],[],[],[]

for index, row in df.iterrows():
    val=row['pixels'].split(" ")
    try:
       if 'Training' in row['Usage']:
          X_train.append(np.array(val,'float32'))
          train_y.append(row['label'])
       elif 'PublicTest' in row['Usage']:
          X_test.append(np.array(val,'float32'))
          test_y.append(row['label'])
    except:
       print(f"error occured at index :{index} and row:{row}")


X_train = np.array(X_train,'float32')
train_y = np.array(train_y,'float32')
X_test = np.array(X_test,'float32')
test_y = np.array(test_y,'float32')

X_train = X_train.reshape(X_train.shape[0], 48, 48, 1)

X_test = X_test.reshape(X_test.shape[0], 48, 48, 1)

Пожалуйста, дайте мне знать код для применения детектора контуров Canny, который можно объединить в приведенном выше коде, а затем сохранить массив обратно в формате как здесь X_train = X_train.reshape (X_train.shape [0], 48, 48, 1). потому что тогда мне нужно передать этот массив в алгоритме глубокого обучения.

...