unity3d - 使用统一 3D 进行面部识别。如何在 C# 中修复此代码?
问题描述
这段代码在不执行 IF 语句的第一部分的情况下继续进入 else 条件。
public void OnSaveButtonClick ()
{
Debug.Log ("User clicked [Save] button.");
string saveDirectoryPath = Path.Combine (Application.persistentDataPath, saveDirectoryName);
if (model != null)
{
// Clean up old files.
if (Directory.Exists (saveDirectoryPath))
{
DirectoryInfo directoryInfo = new DirectoryInfo (saveDirectoryPath);
foreach (FileInfo fileInfo in directoryInfo.GetFiles())
{
if ((fileInfo.Attributes & FileAttributes.ReadOnly) == FileAttributes.ReadOnly)
{
fileInfo.Attributes = FileAttributes.Normal;
}
}
if ((directoryInfo.Attributes & FileAttributes.ReadOnly) == FileAttributes.ReadOnly)
{
directoryInfo.Attributes = FileAttributes.Directory;
}
directoryInfo.Delete (true);
}
Directory.CreateDirectory (saveDirectoryPath);
// save the train data.
model.write (Path.Combine (saveDirectoryPath, "traindata.yml"));
// save the preprocessedfaces.
#if UNITY_WEBGL && !UNITY_EDITOR
string format = "jpg";
MatOfInt compressionParams = new MatOfInt(Imgcodecs.IMWRITE_JPEG_QUALITY, 100);
#else
string format = "png";
MatOfInt compressionParams = new MatOfInt (Imgcodecs.IMWRITE_PNG_COMPRESSION, 0);
#endif
for (int i = 0; i < m_numPersons; ++i)
{
Imgcodecs.imwrite (Path.Combine (saveDirectoryPath, "preprocessedface" + i + "." + format), preprocessedFaces [m_latestFaces [i]], compressionParams);
}
}
else
{
Debug.Log ("save failure. train data does not exist.");
}
}
保存失败。火车数据不存在。
UnityEngine.Debug:Log(Object)
RealTimeFaceRecognitionExample.WebCamTextureRealTimeFaceRecognitionExample:OnSaveButtonClick()(在 Assets/RealTimeFaceRecognitionExample/WebCamTextureRealTimeFaceRecognitionExample/WebCamTextureRealTimeFaceRecognitionExample.cs:541)
UnityEngine.EventSystems.EventSystem:Update()
解决方案
扫描图像或人物后,您必须单击图像中的任意位置或被扫描人物的面部,以在保存前训练数据。
推荐阅读
- string - 类型 _Uint8ArrayView' 不是 Flutter 中“String”类型的子类型
- android - 在 Bubble-Picker 上删除项目时,出现以下错误
- javascript - 如何在添加到javascript中的目标数字的唯一整数数组中查找元组
- javascript - Javascript通过匹配条件删除项目的出现
- vba - Access 2010 像 2007 一样一直打开。无法引用正确的对象库
- python - 这个 SLY 程序中的 shift/reduce 冲突是什么?
- javascript - 从重复的表单中获取 ngmodel 值
- html - 下载的字体在浏览器中的显示方式不同
- java - 如何将焦点从一个窗口设置到另一个窗口?
- matlab - 如何控制 pcolor 图中的颜色和强度?