


Explication détaillée du code graphique et textuel pour réaliser la fonction de reconnaissance de carte d'identité en C#
Cet article présente principalement l'explication détaillée des technologies liées à la reconnaissance de carte d'identité C#, qui a une certaine valeur de référence. Les amis intéressés peuvent se référer à
Recherches récentes sur la technologie OCR liée à C#, la reconnaissance d'image est généralement C Par rapport à. langages de bas niveau tels que C++, C# s'appuie principalement sur certains composants encapsulés pour effectuer des appels. Voici une méthode de reconnaissance de carte d'identité.
Configuration de l'environnement
Adresse de téléchargement : site officiel d'EmguCV
Téléchargez cet EXE dans la catégorie Fichier et continuez Installer . Après l'installation, vous pourrez retrouver les composants correspondants dans le répertoire, ainsi que quelques cas d'application.
La dll dans le dossier dll est référencée au projet C# x64, x86 et tessdata correspondent à la bibliothèque de classes et à la bibliothèque de langues reconnues par OCR. vers tessdata. Les trois dossiers sont placés dans le dossier d'exécution du programme.
Démo
La petite démo que j'ai faite est la suivante : la carte d'identité l'image a été téléchargée depuis Baidu
Je dois dire que le seul inconvénient de cette bibliothèque est que le taux de reconnaissance de texte est trop faible et que l'effet de reconnaissance d'image n'est pas très bon
using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Threading.Tasks; using System.Windows.Forms; using Emgu.CV; using Emgu.CV.OCR; using Emgu.CV.Structure; using System.IO; namespace EmguCV { public partial class Form1 : Form { Image<Gray, Byte> imageThreshold; public Form1() { InitializeComponent(); pictureBox1.Enabled = false; } private void Form1_Load(object sender, EventArgs e) { } private void button1_Click(object sender, EventArgs e) { //第一个参数是语言包文件夹的地址,不写默认在执行文件夹下 Tesseract _ocr = new Tesseract(@"", "chi_sim", OcrEngineMode.TesseractOnly); _ocr.SetImage(imageThreshold); _ocr.Recognize(); String text = _ocr.GetUTF8Text(); this.textBox1.Text = text; } private void pictureBox2_Click(object sender, EventArgs e) { OpenFileDialog of = new OpenFileDialog(); of.Title = "请选择图片"; if (of.ShowDialog() == DialogResult.OK) { string file = of.FileName; Image img = Image.FromFile(file); pictureBox1.Image = img; } Bitmap bitmap = (Bitmap)this.pictureBox1.Image; Image<Bgr, Byte> imageSource = new Image<Bgr, byte>(bitmap); Image<Gray, Byte> imageGrayscale = imageSource.Convert<Gray, Byte>(); imageGrayscale = randon(imageGrayscale); imageThreshold = imageGrayscale.ThresholdBinary(new Gray(100), new Gray(255)); this.pictureBox2.Image = imageThreshold.ToBitmap(); } /// <summary> /// 旋转校正 /// </summary> /// <param name="imageInput"></param> /// <returns></returns> private Image<Gray, Byte> randon(Image<Gray, Byte> imageInput)//图像投影旋转法倾斜校正子函数定义 { int nwidth = imageInput.Width; int nheight = imageInput.Height; int sum; int SumOfCha; int SumOfChatemp = 0; int[] sumhang = new int[nheight]; Image<Gray, Byte> resultImage = imageInput; Image<Gray, Byte> ImrotaImage; //20度范围内的调整 for (int ang = -20; ang < 20; ang = ang + 1) { ImrotaImage = imageInput.Rotate(ang, new Gray(1)); for (int i = 0; i < nheight; i++) { sum = 0; for (int j = 0; j < nwidth; j++) { sum += ImrotaImage.Data[i, j, 0]; } sumhang[i] = sum; } SumOfCha = 0; for (int k = 0; k < nheight - 1; k++) { SumOfCha = SumOfCha + (Math.Abs(sumhang[k] - sumhang[k + 1])); } if (SumOfCha > SumOfChatemp) { resultImage = ImrotaImage; SumOfChatemp = SumOfCha; } } return resultImage; } private void pictureBox1_Click(object sender, EventArgs e) { } } }
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Outils d'IA chauds

Undresser.AI Undress
Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover
Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool
Images de déshabillage gratuites

Clothoff.io
Dissolvant de vêtements AI

AI Hentai Generator
Générez AI Hentai gratuitement.

Article chaud

Outils chauds

Bloc-notes++7.3.1
Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise
Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1
Puissant environnement de développement intégré PHP

Dreamweaver CS6
Outils de développement Web visuel

SublimeText3 version Mac
Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Sujets chauds

Une carte d'identité ne peut ouvrir qu'un seul magasin Taobao. Les vendeurs doivent respecter les réglementations de la plateforme Taobao et ne pas essayer d'utiliser les cartes d'identité d'autres personnes pour ouvrir plusieurs magasins. Les vendeurs peuvent développer leur activité et augmenter leurs ventes en fusionnant des magasins et en ouvrant des succursales. Il convient toutefois de noter que chaque succursale doit utiliser une carte d'identité indépendante pour l'authentification par nom réel.

Que vous soyez débutant ou professionnel expérimenté, la maîtrise du C# ouvrira la voie à votre carrière.

Le développement des technologies d’intelligence artificielle (IA) bat son plein aujourd’hui et elles ont montré un grand potentiel et une grande influence dans divers domaines. Aujourd'hui, Dayao partagera avec vous 4 cadres de projets liés au modèle d'IA open source .NET LLM, dans l'espoir de vous fournir une référence. https://github.com/YSGStudyHards/DotNetGuide/blob/main/docs/DotNet/DotNetProjectPicks.mdSemanticKernelSemanticKernel est un kit de développement logiciel (SDK) open source conçu pour intégrer de grands modèles de langage (LLM) tels qu'OpenAI, Azure

En termes de traitement des requêtes à haute concurrence, .NETASP.NETCoreWebAPI fonctionne mieux que JavaSpringMVC. Les raisons incluent : la compilation précoce AOT, qui réduit le temps de démarrage, une gestion plus raffinée de la mémoire, où les développeurs sont responsables de l'allocation et de la libération de la mémoire des objets.

Les téléphones portables et les cartes d'identité ne seront pas démagnétisés ensemble. Les raisons sont les suivantes : 1. Des bobines et des puces sont intégrées à l'intérieur de la carte d'identité. Contrairement aux bandes, disques durs et autres supports de stockage traditionnels, il n'y a pas de substances magnétisées. des téléphones mobiles est à haute fréquence. Les ondes électromagnétiques, avec des fréquences allant de centaines de milliers à des dizaines de millions de Hertz, n'ont pas la capacité de magnétiser les cartes d'identité. Les aimants des haut-parleurs du téléphone portable n'auront pas d'effet démagnétisant sur la carte d'identité. Nous pouvons assembler en toute sécurité la carte d'identité et le téléphone portable, et faire attention à éviter d'endommager la carte d'identité et à protéger son utilisation normale afin qu'elle puisse mieux nous servir.

NFC peut reconnaître les cartes d'identité ; dès 2015, China Mobile a annoncé que sa propre marque N1 avait ouvert la fonction NFC pour reconnaître les cartes d'identité. Grâce à une application spéciale, vous pouvez utiliser votre téléphone mobile pour lire les informations de la carte d'identité avec votre nom réel. authentification ; une fois que les téléphones mobiles deviennent populaires pour la reconnaissance d'identité. Il a la fonction de carte d'identité ou de carte d'identité et utilise un mot de passe numérique ou un mot de passe d'empreinte digitale pour améliorer dans une certaine mesure la sécurité et la lutte contre la contrefaçon de son utilisation.

Si vous êtes un développeur .NET, vous devez être conscient de l'importance d'optimiser les fonctionnalités et les performances pour fournir des logiciels de haute qualité. En utilisant de manière experte les ressources fournies et en réduisant les temps de chargement des sites Web, vous créez non seulement une expérience agréable pour vos utilisateurs, mais vous réduisez également les coûts d'infrastructure.

Techniques d'extraction des informations sur les cartes d'identité à l'aide d'expressions régulières PHP Dans le développement réel, la nécessité d'extraire les informations sur les cartes d'identité est souvent utilisée. Le numéro d'identification est une chaîne contenant de nombreuses informations, notamment la région, la date de naissance, le sexe et d'autres informations. En PHP, nous pouvons extraire les informations de la carte d'identité via des expressions régulières. Ce qui suit présentera des techniques spécifiques et fournira des exemples de code pour vous aider à mieux comprendre. Extraction des informations régionales à partir du numéro de carte d'identité. Les 6 premiers chiffres du numéro de carte d'identité représentent des informations régionales. Nous pouvons extraire cette partie des informations via des expressions régulières. par
