VisioForge

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.

RisqueImpact
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èteAntérieur à ML.NET, TensorFlow.NET, ONNX Runtime
Code vidéo AForgeMêmes composants internes AForge.Video abandonnés pour la capture vidéo
Windows uniquementVidé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.NETRemplacement 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.VideoRemplacement 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.VisionIntégré VisioForgeOpenCvSharp 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 GPUModule 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 standalone

VisioForge — 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 needed

VisioForge — 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 assignment

Migration 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.MLRemplacement 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

AspectAccord.NETAprès la migration
StatutArchivéDéveloppement actif (tous les remplacements)
Framework.NET Framework.NET 6-10
Capture vidéoComposants internes AForge basiquesSDK professionnel avec effets, streaming, enregistrement
Vision par ordinateurAlgorithmes obsolètesDétecteurs intégrés VisioForge + OpenCV 4.11 complet (2500+ algorithmes)
Apprentissage automatiqueAlgorithmes basiquesML.NET + ONNX (niveau production)
Détection facialeHaar basique uniquementHaar + DNN (Caffe SSD) + DLib HOG, avec flou/pixelisation
Détection d'objetsCompteur de blobs basiqueSoustraction de fond MOG2 + suivi avec IDs
Détection de piétonsHOG+SVM manuelDétecteur de piétons intégré en une ligne
Deep learningAucunONNX Runtime, TensorFlow.NET
PlateformesWindows uniquementWindows, macOS, Linux, iOS, Android
Effets audioAucun40+ (EQ, reverb, chorus, 3D)
Accélération GPUAucuneCUDA (OpenCvSharp), effets GPU (VisioForge)

Frequently Asked Questions

Accord.NET est-il encore maintenu ?
Non. Accord.NET est archivé sur GitHub sans développement actif depuis 2018. Aucun correctif de sécurité, correction de bugs ou support .NET 6+ n'est prévu. Utilisez VisioForge .Net SDK comme alternative moderne à Accord.NET.
Puis-je utiliser VisioForge pour la détection faciale sans OpenCvSharp ?
Oui. VisioForge .Net SDK inclut trois moteurs de détection faciale intégrés — Cascade Haar (CVFaceDetectBlock), basé sur DNN (CVFaceDetectBlock) et basé sur DLib (CVFaceDetectBlock). Aucune installation OpenCV supplémentaire n'est requise.
VisioForge supporte-t-il .NET 6, .NET 8, .NET 9 et .NET 10 ?
Oui. Tous les packages VisioForge .Net SDK supportent .NET 6 à .NET 10, y compris le déploiement multiplateforme sur Windows, macOS et Linux.
Quelle est la meilleure alternative à Accord.NET pour la capture vidéo en C# ?
VisioForge Video Capture SDK .Net remplace Accord.Video (et le AForge.Video sous-jacent) avec une API asynchrone moderne, le support des webcams, caméras IP (RTSP/ONVIF), capture d'écran et sortie en MP4, WebM et autres formats.
Puis-je migrer depuis Accord.NET de manière incrémentale ?
Oui. Les SDKs VisioForge peuvent coexister avec les packages Accord.NET pendant la migration. Remplacez un composant à la fois — commencez par la capture vidéo, puis la vision, puis le ML — et supprimez les packages NuGet Accord.NET au fur et à mesure que chaque étape de migration est terminée.

Démarrer avec VisioForge .Net SDK

Guides de migration associés