/// <summary>
/// 从一个文件夹读取1000张图片,平均后再归一化
/// </summary>
public void average()
{
DirectoryInfo dirInfo = new DirectoryInfo(@"C:\新建文件夹\22");
FileInfo[] fileInfo = dirInfo.GetFiles("*.*", SearchOption.AllDirectories);
Mat average = new Mat(new OpenCvSharp.Size(512, 512), MatType.CV_32FC1);
Mat dst = new Mat(new OpenCvSharp.Size(512, 512), MatType.CV_8UC1);
int page = 1000;
for (int i = 0; i < page; i++)
{
Mat img1 = new Mat(fileInfo[i].FullName, ImreadModes.Grayscale);
//累加
Cv2.Accumulate(img1, average, null);
}
//平均
average = average / page;
average.ConvertTo(average, MatType.CV_8UC1);
double min = 0;
double max = 0;
average.MinMaxLoc(out min, out max);
//归一
dst = 255 / (max - min) * (average - min);
dst.SaveImage("C:\\新建文件夹\\9.tif");
}
OpenCvSharp N幅图片叠加成一张图片
最新推荐文章于 2024-05-01 15:49:11 发布