在视觉项目中对视觉检测的图像进行存储也是一个重要环节。
主要从几个方面来设计。
1.图像存储路径
2.图像文件命名
3.图像的质量
让使用者自行指定输出路径,设定是否需要创建日期文件夹,以及图像保存的时长。
文件名可以是全局变量,例如从上位传入的产品名或者是固定名称加时间戳或者序号。
图像质量通过选择图像格式以及配置是否压缩可以起到图像大小的管控。
HOperatorSet.WriteImage(node.Image, suffixName, 0, filePath);
/// <summary>
/// 删除超时文件
/// </summary>
/// <param name="path"></param>
/// <param name="month"></param>
private static void DeleteTimeOutFile(string path, int month)
{
Task.Run(() =>
{
if (Directory.Exists(path))
{
var files = GetAllFiles(path);
//this.Label1.Text = fi.Length.ToString();//图片文件的个数
DateTime dtNow = DateTime.Now;
foreach (FileInfo tmpfi in files)
{
//tmpfi.CreationTime;//创建时间
TimeSpan ts = dtNow.Subtract(tmpfi.LastWriteTime);
if (ts.TotalDays > month * 30)//距现在30分钟以上
{
tmpfi.Delete();//删除文件
}
}
}
});
List<FileInfo> GetAllFiles(string path)
{
List<FileInfo> files = new List<FileInfo>();
DirectoryInfo dir = new DirectoryInfo(path);
var pathList = dir.GetDirectories().ToList();
pathList.ForEach(x =>
{
files.AddRange(GetAllFiles(x.FullName));
});
FileInfo[] fi = dir.GetFiles();
files.AddRange(fi);
return files;
}
}