Image recognition and classification in C# often involve the use of machine learning models. In this example, we'll introduce the concept with a basic code snippet for image classification using ML.NET, a machine learning framework for .NET. A complete image classification solution would use more complex models and datasets.
Sample C# Code for Image Classification
Here's a basic example of C# code for image classification using ML.NET:
using System;
using System.Drawing;
using System.IO;
using Microsoft.ML;
using Microsoft.ML.Data;
class ImageData
{
[LoadColumn(0)]
public string ImagePath;
[LoadColumn(1)]
public string Label;
}
class ImagePrediction
{
[ColumnName(`PredictedLabel`)]
public string Label;
}
class Program
{
static void Main()
{
var context = new MLContext();
var data = context.Data.LoadFromTextFile<ImageData>(`image_data.txt`, separatorChar: ',');
var pipeline = context.Transforms.Conversion.MapValueToKey(`Label`)
.Append(context.Transforms.LoadImages(`Image`, `ImagePath`))
.Append(context.Transforms.ResizeImages(`Image`, 224, 224))
.Append(context.Transforms.ExtractPixels(`Image`))
.Append(context.Transforms.ApplyOnnxModel(`Label`, `Model.onnx`))
.Append(context.Transforms.Conversion.MapKeyToValue(`PredictedLabel`));
var model = pipeline.Fit(data);
var predictionEngine = context.Model.CreatePredictionEngine<ImageData, ImagePrediction>(model);
var imageFilePath = `sample_image.jpg`;
var imageData = new ImageData { ImagePath = imageFilePath };
var prediction = predictionEngine.Predict(imageData);
Console.WriteLine(`Image Classification Result:`);
Console.WriteLine($`Image: {imageData.ImagePath}`);
Console.WriteLine($`Predicted Label: {prediction.Label}`);
}
}
This code uses a pre-trained ONNX model for image classification. You need to replace `image_data.txt,` `Model.onnx,` and `sample_image.jpg` with your own dataset, model, and image. ML.NET simplifies the process of working with machine learning models in C#.
Sample HTML Image Preview
Below is a simple HTML element to preview the image:

