Last updated: Janvier 2026
Alternative à Accord.NET : Guide de migration vers VisioForge .Net SDK
Remplacez Accord.NET archivé par des alternatives modernes .NET 6-10
Développeurs C# migrant d'Accord.NET (Accord.Video, Accord.Vision, Accord.MachineLearning) vers des alternatives modernes .NET 6-10
Pourquoi remplacer Accord.NET ?
Accord.NET a incorporé le code source d'AForge.NET en 2015 et l'a étendu avec l'apprentissage automatique, les statistiques et des algorithmes supplémentaires de vision par ordinateur. Le projet est maintenant archivé sur GitHub sans maintenance active. Si vous cherchez un remplacement ou une alternative à Accord.NET pour .NET 6-10, ce guide couvre tous les chemins de migration.
| Risque | Impact |
|---|---|
| Projet archivé | Aucune correction de bugs, correctifs de sécurité ou mises à jour |
| Legacy .NET | .NET Framework uniquement — pas de support .NET 6, 8, 9 ou 10 |
| ML obsolète | Antérieur à ML.NET, TensorFlow.NET, ONNX Runtime |
| Code vidéo AForge | Mêmes composants internes AForge.Video abandonnés pour la capture vidéo |
| Windows uniquement | Vidéo basée sur DirectShow, pas de support multiplateforme |
| Sécurité | Vulnérabilités non corrigées dans le traitement image/vidéo |
Stratégie de migration
Accord.NET couvrait trois domaines. Chacun migre vers une pile moderne différente :
| Domaine Accord.NET | Remplacement moderne |
|---|---|
| Capture vidéo (Accord.Video) | VisioForge Video Capture SDK .Net |
| Vision par ordinateur (Accord.Vision, Accord.Imaging) | VisioForge .Net SDK (détecteurs intégrés OpenCV 4.11 / DLib) ou OpenCvSharp autonome |
| Apprentissage automatique (Accord.MachineLearning, Accord.Neuro) | ML.NET ou ONNX Runtime |
Migration de capture vidéo : Accord.Video → VisioForge
Accord.Video est essentiellement AForge.Video avec des ajouts mineurs. Si vous utilisez `VideoCaptureDevice`, `MJPEGStream` ou `ScreenCaptureStream` d'Accord.NET, remplacez-les par le VisioForge Video Capture SDK pour la capture webcam moderne en C#, le streaming RTSP et l'enregistrement d'écran sur .NET 6-10.
Correspondance des classes
| Classe Accord.Video | Remplacement VisioForge |
|---|---|
| `VideoCaptureDevice` | `VideoCaptureCoreX` + `VideoCaptureDeviceSourceSettings` |
| `MJPEGStream` | `VideoCaptureCoreX` + `RTSPSourceSettings` |
| `ScreenCaptureStream` | `VideoCaptureCoreX` + `ScreenCaptureSourceSettings` |
| `FileVideoSource` | `MediaPlayerCoreX` ou `VideoEditCoreX` |
| `NewFrameEventArgs` | Événement `OnVideoFrameBuffer` |
Exemple de capture vidéo en C#
Accord.NET — capture webcam (avant)
C#var videoDevices = new FilterInfoCollection(FilterCategory.VideoInputDevice);
var videoSource = new VideoCaptureDevice(videoDevices[0].MonikerString);
videoSource.NewFrame += (s, e) =>
{
pictureBox.Image = (Bitmap)e.Frame.Clone();
};
videoSource.Start();VisioForge — capture webcam (après)
C#var capture = new VideoCaptureCoreX(videoView);
var devices = await DeviceEnumerator.Shared.VideoSourcesAsync();
capture.Video_Source = new VideoCaptureDeviceSourceSettings(devices[0]);
capture.Outputs_Add(new MP4Output("recording.mp4"), true);
await capture.StartAsync();Migration de vision par ordinateur : Accord.Vision → VisioForge / OpenCvSharp
VisioForge .Net SDK inclut des blocs de vision par ordinateur intégrés alimentés par OpenCV 4.11 et DLib. Ceux-ci s'intègrent directement dans les pipelines multimédias VisioForge — aucune conversion manuelle de frames ni bibliothèques externes nécessaires. Pour le traitement d'images autonome en dehors d'un pipeline vidéo, OpenCvSharp peut être utilisé directement.
Correspondance des classes
| Fonction Accord.Vision | Intégré VisioForge | OpenCvSharp autonome |
|---|---|---|
| `HaarObjectDetector` (détection faciale) | `CVFaceDetectBlock` — Cascade Haar avec détection yeux/nez/bouche, flou/pixelisation faciale | `CascadeClassifier` |
| `HaarObjectDetector` (détection faciale, DNN) | `CVFaceDetectBlock` — Modèle Caffe SSD, filtrage par confiance, accélération GPU | Module DNN |
| `HaarObjectDetector` (détection faciale, DLib) | `CVFaceDetectBlock` (CVD) — Détecteur facial frontal DLib HOG+SVM | — |
| `MotionDetector` | `CVMotionCellsBlock` — Soustraction de fond MOG2 avec suivi d'objets | `BackgroundSubtractorMOG2` |
| `BlobCounter` | `CVMotionCellsBlock` — Suivi de blobs, détection de contours, comptage de véhicules | `Cv2.FindContours()` + `Cv2.ConnectedComponents()` |
| `HistogramsOfOrientedGradients` (HOG) | `CVFaceDetectBlock` — Détection de personnes HOG+SVM | `HOGDescriptor` |
| `CannyEdgeDetector` | `CameraCoveredDetector` — Détection d'obstruction d'objectif basée sur Canny | `Cv2.Canny()` |
| `SpeededUpRobustFeatures` (SURF) | — | `SIFT.Create()` (SURF breveté, utilisez SIFT ou ORB) |
| `HoughLineTransformation` | — | `Cv2.HoughLinesP()` |
| Correspondance de modèles | — | `Cv2.MatchTemplate()` |
Fonctionnalités de confidentialité intégrées
Les détecteurs VisioForge incluent un traitement de confidentialité intégré — aucun code supplémentaire nécessaire :
- ✓Flou facial — Flou gaussien appliqué aux régions faciales détectées
- ✓Pixelisation faciale — Pixelisation en blocs des régions faciales
- ✓Cache de régions — Résultats lissés entre les frames (taille de cache configurable)
Exemple de détection faciale en C#
Accord.NET — détection faciale (avant)
C#var detector = new HaarObjectDetector(
new HaarCascade(HaarCascade.FaceHaarCascadePath));
detector.MinSize = new Size(30, 30);
Rectangle[] faces = detector.ProcessFrame(bitmap);VisioForge — détection faciale par cascade Haar (après)
C#var settings = new CVFaceDetectSettings
{
DetectFrontalFace = true,
DetectEyes = true,
DetectNose = true,
DetectMouth = true,
MinFaceSize = new Size(30, 30),
ScaleFactor = 1.1,
DrawEnabled = true
};
var detector = new CVFaceDetectBlock(settings);
// Add to a MediaBlocks pipeline or use standaloneVisioForge — Détecteur facial DNN (précision supérieure, support GPU)
C#var settings = new CVFaceDetectSettings
{
Confidence = 0.25,
DrawEnabled = true,
BlurFaces = true // built-in privacy blur
};
var detector = new CVFaceDetectBlock(settings);VisioForge — Détecteur facial DLib
C#var settings = new CVFaceDetectSettings
{
DrawEnabled = true,
MinFaceSize = new Size(30, 30)
};
var detector = new CVFaceDetectBlock(settings);OpenCvSharp autonome (alternative)
C#using var cascade = new CascadeClassifier("haarcascade_frontalface_default.xml");
using var mat = Cv2.ImRead("image.jpg");
using var gray = new Mat();
Cv2.CvtColor(mat, gray, ColorConversionCodes.BGR2GRAY);
var faces = cascade.DetectMultiScale(gray, 1.1, 3, 0, new Size(30, 30));Exemple de détection de piétons en C#
Accord.NET — détection de piétons HOG (avant)
C#var hog = new HistogramsOfOrientedGradients();
double[] features = hog.ProcessImage(bitmap);
// Manual SVM classification neededVisioForge — détection de piétons (après)
C#var settings = new CVFaceDetectSettings
{
DrawEnabled = true,
VideoScale = 1.0,
FramesToSkip = 2
};
var detector = new CVFaceDetectBlock(settings);Exemple de détection de mouvement en C#
Accord.NET — détection de mouvement (avant)
C#var detector = new MotionDetector(
new TwoFramesDifferenceDetector(),
new BlobCountingObjectsProcessing());
double motionLevel = detector.ProcessFrame(bitmap);VisioForge — détection d'objets/mouvement (après)
C#var settings = new CVMotionCellsSettings
{
DrawEnabled = true
};
var detector = new CVMotionCellsBlock(settings);
// MOG2 background subtraction with automatic object tracking and ID assignmentMigration d'apprentissage automatique : Accord.MachineLearning → ML.NET
Pour l'inférence d'apprentissage profond pendant le traitement vidéo, VisioForge fournit une détection faciale DNN intégrée (`CVFaceDetectBlock`), une détection de piétons (`CVFaceDetectBlock`) et un suivi d'objets (`CVMotionCellsBlock`). Pour les modèles personnalisés, intégrez ONNX Runtime avec des callbacks de frames.
Correspondance des classes ML
| Fonction Accord.ML | Remplacement ML.NET |
|---|---|
| `SupportVectorMachine` | `SdcaMaximumEntropy` ou `LinearSvm` |
| `DecisionTree` | `FastTree` ou `FastForest` |
| `KMeans` | `KMeansTrainer` |
| `NaiveBayes` | `NaiveBayes` (ML.NET) |
| `NeuralNetwork` (Accord.Neuro) | ONNX Runtime ou TensorFlow.NET |
| `PrincipalComponentAnalysis` | `PrincipalComponentAnalysis` (ML.NET contrib) |
Liste de vérification de migration
- Auditer l'utilisation d'Accord.NET — Identifier quels domaines (vidéo, vision, ML) sont utilisés
- Capture vidéo → Installer les packages NuGet VisioForge Video Capture SDK
- Vision par ordinateur → Utiliser les détecteurs intégrés VisioForge (visage, piéton, objet, comptage de véhicules) ou installer OpenCvSharp4 pour une utilisation autonome
- Apprentissage automatique → Installer les packages NuGet ML.NET ou ONNX Runtime
- Remplacer les classes de source vidéo — Voir le tableau de correspondance ci-dessus
- Remplacer les algorithmes de vision — Utiliser VisioForge MediaBlocks ou porter vers les équivalents OpenCvSharp
- Remplacer les modèles ML — Réentraîner avec ML.NET ou exporter en ONNX
- Supprimer les packages NuGet Accord — Nettoyer les dépendances
- Cibler .NET moderne — .NET 6-10
- Tester multiplateforme — VisioForge et OpenCvSharp supportent tous deux Windows, macOS et Linux
Ce que vous gagnez après la migration
| Aspect | Accord.NET | Après la migration |
|---|---|---|
| Statut | Archivé | Développement actif (tous les remplacements) |
| Framework | .NET Framework | .NET 6-10 |
| Capture vidéo | Composants internes AForge basiques | SDK professionnel avec effets, streaming, enregistrement |
| Vision par ordinateur | Algorithmes obsolètes | Détecteurs intégrés VisioForge + OpenCV 4.11 complet (2500+ algorithmes) |
| Apprentissage automatique | Algorithmes basiques | ML.NET + ONNX (niveau production) |
| Détection faciale | Haar basique uniquement | Haar + DNN (Caffe SSD) + DLib HOG, avec flou/pixelisation |
| Détection d'objets | Compteur de blobs basique | Soustraction de fond MOG2 + suivi avec IDs |
| Détection de piétons | HOG+SVM manuel | Détecteur de piétons intégré en une ligne |
| Deep learning | Aucun | ONNX Runtime, TensorFlow.NET |
| Plateformes | Windows uniquement | Windows, macOS, Linux, iOS, Android |
| Effets audio | Aucun | 40+ (EQ, reverb, chorus, 3D) |
| Accélération GPU | Aucune | CUDA (OpenCvSharp), effets GPU (VisioForge) |
