Member 13893129 Ответов: 2

Нужно решение для ошибки : add не является членом system.array ?


face = New HaarCascade("haarcascade_frontalface_default.xml")

      'Try
      Dim Labelsinfo As String = File.ReadAllText(Application.StartupPath & "/TrainedFaces/TrainedLabels.txt")
      Dim Labels As String() = Labelsinfo.Split("%"c)
      NumLabels = Convert.ToInt16(Labels(0))
      ContTrain = NumLabels
      Dim LoadFaces As String

      For tf As Integer = 1 To NumLabels + 1 - 1
          LoadFaces = "face" & tf & ".bmp"
          trainingImages.Add(New Image(Of Gray, Byte)(Application.StartupPath & "/TrainedFaces/" & LoadFaces))


          Labels.Add(Labels(tf))


      Next


Что я уже пробовал:

В основном это код c# , который я конвертирую в vb.net успешно но
Поток ошибок 'Add не является членом System.array

Пространство имен объявляется как

Система Импорта.Коллекции.Общий

Объявление переменной как
Публичные метки в виде списка(строки) = новый список(строки)()

Этикетки.Добавить(метки(tf))

Может ли кто-нибудь дать причину и решение в простой форме?

2 Ответов

Рейтинг:
2

Richard MacCutchan

Видеть Класс Массива (System) | Microsoft Docs[^], который не имеет метода Add. Если вы хотите построить список элемент за элементом, то используйте общий тип, например Список<T> класса (System.Коллекции.Общая) | Майкрософт Документы[^].

И пожалуйста уберите это лишнее выражение:

For tf As Integer = 1 To NumLabels + 1 - 1


Member 13893129

Дорогой сэр, пожалуйста, просто скажите мне, как решить эту ошибку здесь.

Этикетки.Добавить(метки(tf))

Richard MacCutchan

Я только что сделал это, вам нужно использовать список(T) для вашего Labels. Массив не имеет Add метод.

Richard MacCutchan

Почему вы добавляете элемент вашего списка в список во второй раз?

name1 = recognizer.Recognize(result)

В чем же заключается ценность result в этот момент?

Member 13893129

Не могу объяснить, Пожалуйста, скажите мне, как ваш путь
Это мульти-распознавание лиц prg с помощью emgu. Я просто пытаюсь превратить его в vb.net

Richard MacCutchan

Извините, но если вы не можете понять свой код, то вы не можете ожидать, что другие люди смогут это сделать. Я предлагаю вам вернуться к первоисточнику, из которого вы его скопировали, и спросить человека, который его написал.

Member 13893129

Хорошо, хорошо, я сделаю это сам. Спасибо, что уделили мне свое драгоценное время. .

Ошибка устранена .....Да, я сделал это......

Рейтинг:
2

GKP1992

Цитата:
Может ли кто-нибудь дать причину и решение в простой форме?

Нет.

Скорее всего, вам не хватает директивы using.. что-то вроде системы.Коллекции, но я не совсем уверен.


Member 13893129

Я уже
Система Импорта.Коллекции.Общий

Richard MacCutchan

Нет, он пытается использовать массив вместо списка(T).