本人最近开始学习深度学习相关内容,主要是基于halcon的深度学习算法进行自我学习,同时自己也在学习过程中记录了部分笔记和相关效果图与视频,在此拿来进行分享,希望一同学习进步。
关键代码展示
private void btnTrainClassifier_Click(object sender, EventArgs e)
{
//获取预处理后图像的文件夹名称
mnist.mnist_Train.hv_PreprocessedFolder = mnist.mnist_Preprocess.path_Images + @"\Preprocessed_images";
if (!IsPathAvailable(mnist.mnist_Train.hv_PreprocessedFolder))
{
return;
}
StringBuilder sb = new StringBuilder();
sb.Append("训练进行中...\r\n\r\n").Append("当前训练参数设置:\r\n");
sb.Append(mnist.mnist_Train.TrainClassifierParams());
this.textBoxInformation.Text = sb.ToString();
mnist.Trainclassifier();
}
private void btnComputeConfusionMatrix_Click(object sender, EventArgs e)
{
if (this.mnist.mnist_Train.hv_Train_DLClassifierHandle == null)
{
MessageBox.Show("请先训练分类器");
return;
}
mnist.mnist_Train.ComputeConfusionMatrix(this.hWindowControl1.HalconWindow);
StringBuilder sb = new StringBuilder();
sb.Append("当前训练参数设置:\r\n");
sb.Append(mnist.mnist_Train.TrainClassifierParams());
this.textBoxInformation.Text = sb.ToString();
}
private void btnRandomTest_Click(object sender, EventArgs e)
{
mnist.mnist_Test.path_Test_Images = mnist.mnist_Preprocess.path_Images + @"\Test_images";
if (mnist.mnist_Preprocess.path_Images.Contains("Test"))
{
mnist.mnist_Test.path_Test_Images = mnist.mnist_Preprocess.path_Images;
}
//判断图像文件夹是否存在或内容是否为空
if (!IsPathAvailable(mnist.mnist_Test.path_Test_Images))
{
return;
}
mnist.mnist_Test.RandomGetImage();
textBoxInformation.Text = "已选择测试图像:\r\n" + mnist.mnist_Test.ho_TestImageName;
mnist.Testclassifier();
}
具体测试效果展示
深度学习开发测试效果