ML.NET 图像分类

参考文档:https://www.cnblogs.com/mq0036/p/18302572

复制代码
using MLNET_Image;
using static MLNET_Image.MLModel1;

namespace MLNET.Image
{
    public partial class MainForm : Form
    {
        public MainForm()
        {
            InitializeComponent();
        }

        private void btnSelectImage_Click(object sender, EventArgs e)
        {
            using (OpenFileDialog openFileDialog = new OpenFileDialog())
            {
                openFileDialog.Title = "Select Image";
                openFileDialog.Filter = "Image Files (*.jpg, *.png, *.bmp)|*.jpg;*.png;*.bmp|All Files (*.*)|*.*";

                if (openFileDialog.ShowDialog() == DialogResult.OK)
                {
                    // 获取用户选择的文件路径
                    string selectedImagePath = openFileDialog.FileName;

                    // 从文件加载图片
                    System.Drawing.Image img = System.Drawing.Image.FromFile(openFileDialog.FileName);
                    this.pictureBox1.Image = img;

                    var imageBytes = File.ReadAllBytes(selectedImagePath);
                    ModelInput sampleData = new MLModel1.ModelInput()
                    {
                        ImageSource = imageBytes,
                    };

                    //Load model and predict output
                    var result = MLModel1.Predict(sampleData);

                    var label = result.PredictedLabel;
                    var score = MLModel1.GetSortedScoresWithLabels(result).Where(x => x.Key == label).First().Value; 

                    this.lblResult.Text = result.PredictedLabel + " " + score; // 格式化为百分比
                }
            }
        }
    }
}
相关推荐
咕白m62520 分钟前
如何通过 C# 提取 PDF 图片?单页与全文档提取
c#·.net
时光追逐者4 小时前
【拾遗补漏】.NET 常见术语集
微软·c#·.net
用户298698530147 小时前
C#: 高效移动与删除Excel工作表
后端·.net·excel
小码编匠8 小时前
WPF 绘制图表合集-LiveCharts
后端·c#·.net
唐青枫10 小时前
C#.NET MemoryCache 深入解析:本地缓存机制与最佳实践
c#·.net
Aevget21 小时前
DevExpress WPF v25.2新功能预览 - 支持将JetBrains Rider与报表设计器集成
.net·wpf·界面控件·devexpress·ui开发
Aevget1 天前
界面控件DevExpress WPF v25.1新版亮点:AI功能的全面升级
c#·.net·wpf·界面控件·devexpress·ui开发
唐青枫1 天前
C#.NET SemaphoreSlim 深入解析:轻量级异步锁与并发控制
c#·.net
小码编匠2 天前
WPF 动态模拟CPU 使用率曲线图
后端·c#·.net
聪明努力的积极向上2 天前
【.NET】依赖注入浅显解释
c#·.net