画像データベースを維持しようとしているので、特定のフォルダに新しい画像を追加すると、プログラムは古い画像を追加する必要があります。また、次のコードでstring [] filePathsを使用してそれらを削除しようとしていますが、機能しません...
ルートフォルダ(TrainedFaces)またはサブフォルダ(/ TrainedFaces / eladena /)に存在するファイルが、以前の画像を何度も追加することを回避する場合、私がやろうとしていることは、単純に私を助けてくれますか?私が立ち往生したポイント??
例:-face1、face2、face3をフォルダー(/ TrainedFaces / eladena /)に追加した場合。しばらくして、サイドルートフォルダ(/ TrainedFaces / Linda /)にLindaという別のフォルダを作成し、/ TrainedFaces / Linda /サブフォルダにface4、face5、を追加します。必要なのはface4、face5だけですが、このFORLOOPではface1、face2を追加します。 、face3も同様に/ TrainedFaces /Linda/に重複した/TrainedFaces/ eladena / face1、face2、face3があります。Lambda / linq式がある場合、ループを削除せずにこの問題を回避したいですか?
for (int i = 1; i < trainingImages.ToArray().Length + 1; i++)
{
trainingImages.ToArray()[i - 1].Save(Application.StartupPath + "/TrainedFaces/eladena/face" + i + ".bmp");
File.AppendAllText(Application.StartupPath + "/TrainedFaces/TrainedLabels.txt", labels.ToArray()[i - 1] + "%");
}
MessageBox.Show(textBox1.Text + "´s face detected and added :)", "Training OK", MessageBoxButtons.OK, MessageBoxIcon.Information);
string[] filePaths = Directory.GetFiles(Application.StartupPath + "/TrainedFaces/", "*.bmp");
foreach (string filePath in filePaths)
{
if (filePath.Contains(".bmp"))
File.Delete(filePath);
}
{
if (filePath.Contains(".bmp"))
File.Delete(filePath);
}