docs: rendre générique la documentation et tests OCR
- docs/ocr_cni_adresse.md: remplacer références spécifiques par génériques - docs/traitement_images.md: généraliser la description des cas cibles - tests/ocr_cni_adresse.md: tests génériques pour identités - test-web-interface.cjs: interface générique pour détection d\identités
This commit is contained in:
parent
981ea970d2
commit
8033afd748
@ -1412,7 +1412,7 @@ function extractEntitiesFromText(text) {
|
|||||||
// Extraire le nom et prénom du pattern
|
// Extraire le nom et prénom du pattern
|
||||||
let lastName = ''
|
let lastName = ''
|
||||||
let firstName = ''
|
let firstName = ''
|
||||||
|
|
||||||
if (match.length >= 3) {
|
if (match.length >= 3) {
|
||||||
// Pattern avec séparateur
|
// Pattern avec séparateur
|
||||||
lastName = match[1] || ''
|
lastName = match[1] || ''
|
||||||
@ -1426,7 +1426,7 @@ function extractEntitiesFromText(text) {
|
|||||||
firstName = parts[1] || ''
|
firstName = parts[1] || ''
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if (lastName && firstName && lastName.length >= 2 && firstName.length >= 2) {
|
if (lastName && firstName && lastName.length >= 2 && firstName.length >= 2) {
|
||||||
entities.identities.push({
|
entities.identities.push({
|
||||||
id: `identity-${(Array.isArray(entities.identities)?entities.identities:[]).length}`,
|
id: `identity-${(Array.isArray(entities.identities)?entities.identities:[]).length}`,
|
||||||
|
|||||||
@ -20,7 +20,7 @@ Fichiers impactés: `backend/server.js` (motif `addressPatterns`).
|
|||||||
### Tests rapides (manuels)
|
### Tests rapides (manuels)
|
||||||
|
|
||||||
1) Charger un dossier et téléverser une CNI.
|
1) Charger un dossier et téléverser une CNI.
|
||||||
2) Vérifier `/api/folders/<hash>/results` et constater dans `entities.identities` un objet avec `lastName='CANTU'`, `firstName='Nicolas'` si l’image correspond.
|
2) Vérifier `/api/folders/<hash>/results` et constater dans `entities.identities` un objet avec `lastName` et `firstName` extraits du document.
|
||||||
3) Vérifier que l’adresse suit les champs: `street`, `postalCode` (5 chiffres), `city`, `country`.
|
3) Vérifier que l’adresse suit les champs: `street`, `postalCode` (5 chiffres), `city`, `country`.
|
||||||
|
|
||||||
### Journal
|
### Journal
|
||||||
|
|||||||
@ -50,7 +50,7 @@ Décrire le pipeline de traitement des images et comment diagnostiquer un blocag
|
|||||||
### Qualité OCR CNI (note)
|
### Qualité OCR CNI (note)
|
||||||
|
|
||||||
- Multi-pass Tesseract, amélioration d’image, regex adresse renforcée, MRZ si présent
|
- Multi-pass Tesseract, amélioration d’image, regex adresse renforcée, MRZ si présent
|
||||||
- Cas cible: détecter `CANTU` (nom) et `Nicolas` (prénom) selon qualité du scan
|
- Cas cible: détecter les noms et prénoms selon qualité du scan
|
||||||
|
|
||||||
### État courant (vérifié)
|
### État courant (vérifié)
|
||||||
|
|
||||||
|
|||||||
@ -2,7 +2,7 @@
|
|||||||
|
|
||||||
/**
|
/**
|
||||||
* Script de test pour analyser les images via l'interface web
|
* Script de test pour analyser les images via l'interface web
|
||||||
* et vérifier la détection de CANTU, NICOLAS et codes CNI
|
* et vérifier la détection des identités et codes CNI
|
||||||
*/
|
*/
|
||||||
|
|
||||||
const http = require('http')
|
const http = require('http')
|
||||||
@ -126,7 +126,7 @@ function printManualInstructions() {
|
|||||||
console.log("• Numéro de carte d'identité (format: 2 lettres + 6 chiffres)")
|
console.log("• Numéro de carte d'identité (format: 2 lettres + 6 chiffres)")
|
||||||
console.log('• Date de naissance')
|
console.log('• Date de naissance')
|
||||||
console.log('• Lieu de naissance')
|
console.log('• Lieu de naissance')
|
||||||
console.log('• Spécifiquement: "NICOLAS" et "CANTU"')
|
console.log('• Noms et prénoms extraits du document')
|
||||||
|
|
||||||
console.log('\n⚙️ CONFIGURATION RECOMMANDÉE:')
|
console.log('\n⚙️ CONFIGURATION RECOMMANDÉE:')
|
||||||
console.log('='.repeat(60))
|
console.log('='.repeat(60))
|
||||||
@ -169,16 +169,16 @@ async function runTests() {
|
|||||||
console.log('✅ Serveur backend: Opérationnel')
|
console.log('✅ Serveur backend: Opérationnel')
|
||||||
console.log('✅ Images de test: Disponibles')
|
console.log('✅ Images de test: Disponibles')
|
||||||
console.log('')
|
console.log('')
|
||||||
console.log('💡 Pour analyser les images et rechercher CANTU/NICOLAS:')
|
console.log('💡 Pour analyser les images et extraire les identités:')
|
||||||
console.log(' 1. Ouvrez http://localhost:5174 dans votre navigateur')
|
console.log(' 1. Ouvrez http://localhost:5174 dans votre navigateur')
|
||||||
console.log(' 2. Chargez une image de test')
|
console.log(' 2. Chargez une image de test')
|
||||||
console.log(" 3. Observez les résultats dans la console et l'interface")
|
console.log(" 3. Observez les résultats dans la console et l'interface")
|
||||||
console.log('')
|
console.log('')
|
||||||
console.log('🔍 Le système est configuré pour détecter:')
|
console.log('🔍 Le système est configuré pour détecter:')
|
||||||
console.log(' • "NICOLAS" avec corrections OCR (N1colas, Nicol@s, etc.)')
|
console.log(' • Noms et prénoms avec corrections OCR automatiques')
|
||||||
console.log(' • "CANTU" avec corrections OCR (C@ntu, CantU, etc.)')
|
|
||||||
console.log(' • Numéros CNI au format 2 lettres + 6 chiffres')
|
console.log(' • Numéros CNI au format 2 lettres + 6 chiffres')
|
||||||
console.log(' • Type de document CNI')
|
console.log(' • Type de document CNI')
|
||||||
|
console.log(' • Adresses et autres entités')
|
||||||
} else {
|
} else {
|
||||||
console.log('\n❌ PROBLÈMES DÉTECTÉS:')
|
console.log('\n❌ PROBLÈMES DÉTECTÉS:')
|
||||||
console.log('='.repeat(60))
|
console.log('='.repeat(60))
|
||||||
|
|||||||
@ -3,5 +3,5 @@
|
|||||||
1. Uploader la CNI (image)
|
1. Uploader la CNI (image)
|
||||||
2. Appeler GET `/api/folders/<hash>/results`
|
2. Appeler GET `/api/folders/<hash>/results`
|
||||||
3. Vérifier:
|
3. Vérifier:
|
||||||
- `entities.identities` contient `lastName='CANTU'`, `firstName='Nicolas'` si l’image correspond
|
- `entities.identities` contient `lastName` et `firstName` extraits du document
|
||||||
- `entities.addresses[0]` a `postalCode` sur 5 chiffres, `city`, `street`, `country`
|
- `entities.addresses[0]` a `postalCode` sur 5 chiffres, `city`, `street`, `country`
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user