# C# ; Filtres de correction d'image pour une meilleure lecture OCR
IronOCR fournit cinq filtres essentiels de correction d'image (`sharpen`, `enhance resolution`, `denoise`, `dilate`, et `erode`) qui effectuent un prétraitement des images pour améliorer significativement la précision de l'OCR en améliorant la clarté du texte et en réduisant le bruit avant l'extraction de texte.
*as-heading:2(Démarrage rapide : Appliquez un filtre d'accentuation pour un texte clair)*
Utilisez `OcrImageInput` d'IronOCR pour affiner une image floue avec une seule ligne de code. Cet exemple montre l'amélioration de l'image pour une reconnaissance optique des caractères (OCR) précise.
```cs
:title=Fix Blurry Text Instantly
new IronOcr.OcrImageInput("sample.png").Sharpen().SaveAsImages("output.png");
```
<div class="hsg-featured-snippet">
<h3>Flux de travail minimal (5 étapes)</h3>
<ol>
<li><a class="js-modal-open" data-modal-id="trial-license-after-download" href="https://nuget.org/packages/IronOcr/">Téléchargez une bibliothèque C# pour la correction d'images à l'aide de filtres.</a></li>
<li>Importez le document PDF et les images pour la lecture</li>
<li>Appliquez les filtres souhaités, tels que aiguiser, améliorer la résolution, supprimer le bruit, dilater et éroder</li>
<li>Exportez l'image corrigée pour la visionner</li>
<li>Utiliser la méthode <code>Read</code> pour le traitement OCR</li>
</ol>
</div>
<br class="clear" />
## Comment appliquer le filtre d'accentuation de la netteté ?
Ce filtre augmente le contraste sur les bords de l'image, ce qui permet de mieux définir les limites du texte. Elle améliore la clarté du texte, rendant la reconnaissance des caractères plus précise.
### Pourquoi l'affinage améliore-t-il la précision de l'OCR ?
Le filtre d'accentuation souligne les limites entre le texte et l'arrière-plan en améliorant le contraste des bords. Les algorithmes de reconnaissance de caractères ont besoin de formes de lettres claires et distinctes pour fonctionner correctement. Un texte flou aux contours flous, courant dans les documents numérisés ou les photos de mauvaise qualité, entraîne une mauvaise identification des limites des caractères par les moteurs de reconnaissance optique de caractères. Pour en savoir plus sur le traitement optimal des images pour l'OCR, consultez notre guide complet sur les [filtres d'optimisation d'image pour l'OCR](https://ironsoftware.com/csharp/ocr/examples/ocr-image-filters-for-net-tesseract/).
Pour appliquer le filtre d'affûtage, invoquez la méthode `Sharpen` de l'objet `OcrImageInput`.
```csharp
using IronOcr;
// Instantiate IronTesseract
IronTesseract ocrTesseract = new IronTesseract();
// Add image
using var imageInput = new OcrImageInput("sample.jpg");
// Apply sharpen filter
imageInput.Sharpen();
// Export filtered image
imageInput.SaveAsImages("sharpen.jpg");
```
### Quand utiliser le filtre d'accentuation de la netteté ?
Utilisez le renforcement de la netteté pour les images légèrement floues, les documents numérisés dont les bords du texte sont flous ou les photographies prises sous un mauvais éclairage. Évitez de trop accentuer le texte clair, car cela introduit des artefacts et réduit la précision. Pour les scans extrêmement flous, combinez l'accentuation avec d'autres filtres ou consultez notre guide sur [Réparation de scans et d'images de faible qualité](https://ironsoftware.com/csharp/ocr/examples/ocr-low-quality-scans-tesseract/).
Exportez les images filtrées en utilisant la méthode `SaveAsImages`. Vous trouverez ci-dessous une comparaison avant/après.
<div class="competitors-section__wrapper-even-1">
<div class="competitors__card" style="width: 48%;">
<img src="/static-assets/ocr/how-to/image-quality-correction/sample.jpg" alt="Blurred text sample showing business article content before applying sharpen filter" class="img-responsive add-shadow" />
<p class="competitors__download-link" style="color: #181818; font-style: italic;">Avant</p>
</div>
<div class="competitors__card" style="width: 48%;">
<img src="/static-assets/ocr/how-to/image-quality-correction/sharpen_0.webp" alt="Échantillon de texte après application du filtre de netteté montrant une meilleure définition des contours et une plus grande clarté des caractères" class="img-responsive add-shadow" />
<p class="competitors__download-link" style="color: #181818; font-style: italic;">Après</p>
</div>
</div>
<hr />
## Comment améliorer la résolution pour une meilleure OCR?
Ce filtre augmente la densité des pixels, améliorant ainsi la netteté et la clarté. Il aide les moteurs OCR à lire plus précisément le texte dans les images à faible résolution.
### Quel DPI dois-je viser pour l'OCR?
Les moteurs OCR sont plus performants à 300 DPI (points par pouce). Les résolutions inférieures entraînent une mauvaise reconnaissance des caractères ; les résolutions plus élevées ralentissent le traitement sans améliorer la précision. Le filtre d'amélioration d'IronOCR met intelligemment à l'échelle les images à des niveaux optimaux de DPI. Pour des conseils détaillés, consultez notre [guide des paramètres DPI](https://ironsoftware.com/csharp/ocr/how-to/dpi-setting/).
Invoquez la méthode `EnhanceResolution` pour appliquer ce filtre. La cible par défaut est 225 DPI :
```csharp
using IronOcr;
// Create OCR input
var imageInput = new OcrImageInput("low-res-scan.jpg");
// Apply enhance resolution filter with default 225 DPI
imageInput.EnhanceResolution();
// Or specify a custom DPI
imageInput.EnhanceResolution(300);
// Combine with OCR reading
var ocr = new IronTesseract();
var result = ocr.Read(imageInput);
Console.WriteLine($"Extracted text: {result.Text}");
```
### Quand l'amélioration de la résolution est-elle la plus importante?
L'amélioration de la résolution est cruciale pour :
- Captures d'écran capturées à la résolution de l'écran (72-96 DPI)
- Images web téléchargées sur l'internet
- Documents historiques numérisés à faible résolution
- Transmissions par fax à faible résolution
L'exemple [OCR Tesseract Image DPI](https://ironsoftware.com/csharp/ocr/examples/ocr-image-dpi-for-tesseract/) permet de comprendre comment le DPI affecte la précision des différents types de documents.
<div class="competitors-section__wrapper-even-1">
<div class="competitors__card" style="width: 48%;">
<img src="/static-assets/ocr/how-to/image-quality-correction/sample.jpg" alt="Low-resolution text sample showing blurry, pixelated business article requiring OCR enhancement" class="img-responsive add-shadow" />
<p class="competitors__download-link" style="color: #181818; font-style: italic;">Avant</p>
</div>
<div class="competitors__card" style="width: 48%;">
<img src="/static-assets/ocr/how-to/image-quality-correction/enhanceResolution_0.webp" alt="Texte à résolution améliorée montrant des caractères plus nets après l'augmentation du DPI pour une meilleure précision de l'OCR" class="img-responsive add-shadow" />
<p class="competitors__download-link" style="color: #181818; font-style: italic;">Après</p>
</div>
</div>
<hr />
## Comment supprimer le bruit des images?
Les filtres de débruitage réduisent les artefacts indésirables dans les images. La réduction du bruit isole le texte des interférences de l'arrière-plan, ce qui permet d'obtenir des résultats d'OCR plus nets et plus précis.
### Quelle est la différence entre la morphologie 2x2 et la morphologie 3x3 ?
La taille de la morphologie détermine la force du débruitage. Une morphologie 2x2 applique une réduction douce du bruit pour minimiser les artefacts tout en préservant la finesse du texte. La morphologie 3x3 permet une suppression agressive du bruit pour les documents fortement dégradés, mais peut affecter les textes de très petite taille.
Pour appliquer le filtre anti-bruit, utilisez la méthode `DeNoise`. La morphologie par défaut est 2x2. Passez 'true' pour une morphologie 3x3 :
```csharp
using IronOcr;
// Load noisy document
var imageInput = new OcrImageInput("noisy-scan.pdf");
// Apply denoise filter with default 2x2 morphology
imageInput.DeNoise();
// Apply stronger denoising with 3x3 morphology
imageInput.DeNoise(true);
// Combine with other filters for severely degraded images
imageInput.DeNoise()
.Sharpen()
.EnhanceResolution(300);
// Process with OCR
var ocr = new IronTesseract();
var result = ocr.Read(imageInput);
// Check confidence levels
foreach (var page in result.Pages)
{
Console.WriteLine($"Page confidence: {page.Confidence}%");
}
```
### Comment savoir si mon image a besoin d'être débruitée?
Recherchez ces indicateurs de bruit :
- Taches ou points aléatoires sur l'arrière-plan
- Bruit salé et poivré dû à une mauvaise numérisation
- Grainage dû à la photographie à ISO élevé
- Texture d'arrière-plan en papier recyclé
Pour la détection automatique du bruit, explorez notre [Assistant de filtrage](https://ironsoftware.com/csharp/ocr/examples/filter-wizard/).
<div class="competitors-section__wrapper-even-1">
<div class="competitors__card" style="width: 48%;">
<img src="/static-assets/ocr/how-to/image-quality-correction/sample.jpg" alt="Document numérisé bruité avec des taches et des artefacts dégradant un texte concernant des dirigeants technologiques japonais" class="img-responsive add-shadow" />
<p class="competitors__download-link" style="color: #181818; font-style: italic;">Avant</p>
</div>
<div class="competitors__card" style="width: 48%;">
<img src="/static-assets/ocr/how-to/image-quality-correction/denoise_0.webp" alt="Document net après que le filtre de débruitage a supprimé les taches d'arrière-plan et amélioré la clarté du texte" class="img-responsive add-shadow" />
<p class="competitors__download-link" style="color: #181818; font-style: italic;">Après</p>
</div>
</div>
<hr />
## Comment utiliser le filtre Dilate?
La dilatation élargit les régions lumineuses dans les images. Elle épaissit le texte, le rendant plus visible et plus facile à interpréter par les logiciels de reconnaissance optique de caractères (OCR).
### Quand dois-je appliquer la dilatation au texte?
La dilatation fonctionne mieux avec les caractères de texte minces ou brisés que l'on trouve dans :
- Vieux documents dactylographiés à l'encre irrégulière
- Reçus défraîchis et impressions sur papier thermique
- Documents avec des polices de type "hairline
- Texte surcompressé dans des formats d'image
La dilatation permet de combler les petites lacunes à l'intérieur des caractères et de renforcer les connexions faibles entre les traits. Cela permet d'éviter que les moteurs de reconnaissance optique de caractères n'interprètent à tort les caractères discontinus comme des symboles multiples.
Pour appliquer le filtre de dilation, utilisez la méthode `Dilate`. La morphologie par défaut est 2x2 ; passer 'true' pour 3x3 :
```csharp
using IronOcr;
// Create OCR engine
var ocrTesseract = new IronTesseract();
// Apply dilate filter
var imageInput = new OcrImageInput("thin-text.jpg");
imageInput.Dilate();
// For more aggressive dilation
imageInput.Dilate(true);
// Practical example for faded receipt processing
var receiptInput = new OcrImageInput("faded-receipt.jpg");
receiptInput.Dilate()
.DeNoise()
.EnhanceResolution(300);
// Configure for better receipt reading
ocrTesseract.Configuration.PageSegmentationMode = TesseractPageSegmentationMode.SingleBlock;
ocrTesseract.Configuration.ReadBarCodes = true;
// Perform OCR
var result = ocrTesseract.Read(receiptInput);
```
### Quels sont les problèmes courants liés à la surdilatation ?
Une dilatation excessive peut provoquer :
- Saignement des caractères lorsque des lettres adjacentes se confondent
- Perte de détails internes (trous en 'e' ou '8')
- Précision réduite pour le texte en gras
Contrôlez les résultats et ajustez-les en conséquence. Pour les documents comportant des textes de poids différents, utilisez nos filtres de correction de la qualité de l'image de manière sélective.
<div class="competitors-section__wrapper-even-1">
<div class="competitors__card" style="width: 48%;">
<img src="/static-assets/ocr/how-to/image-quality-correction/sample.jpg" alt="Document avec des traits de texte fins qui bénéficieraient d'un filtrage par dilatation pour l'OCR" class="img-responsive add-shadow" />
<p class="competitors__download-link" style="color: #181818; font-style: italic;">Avant</p>
</div>
<div class="competitors__card" style="width: 50%;">
<img src="/static-assets/ocr/how-to/image-quality-correction/dilate_0.webp" alt="Texte après application du filtre de dilatation montrant des traits de caractères épaissis et une lisibilité améliorée" class="img-responsive add-shadow" />
<p class="competitors__download-link" style="color: #181818; font-style: italic;">Après</p>
</div>
</div>
<hr />
## Comment appliquer le filtre Erode?
L'érosion réduit la taille des zones claires dans les images, en affinant les caractères épais ou déformés et en améliorant la séparation des caractères.
### Pourquoi l'érosion est-elle utile pour les textes épais ?
L'érosion amincit les traits du texte et sépare les caractères qui se touchent. Ce filtre excelle avec :
- Documents imprimés surchargés
- Photocopies avec saignée des caractères
- Texte en gras qui apparaît fusionné
- Transmissions de télécopies de mauvaise qualité
Une érosion minutieuse rétablit la séparation des caractères et améliore la reconnaissance des lettres individuelles, évitant ainsi que des mots entiers ne soient mal lus.
Utilisez la méthode `Erode` pour appliquer ce filtre. La morphologie par défaut est 2x2 ; passer 'true' pour 3x3 :
```csharp
using IronOcr;
// Create OCR instance
var ocrTesseract = new IronTesseract();
// Load image with thick text
var imageInput = new OcrImageInput("thick-text.jpg");
// Apply erode filter
imageInput.Erode();
// Stronger erosion for heavily bleeding text
imageInput.Erode(true);
// Example: Processing a poor-quality photocopy
var photocopyInput = new OcrImageInput("thick-text-photocopy.pdf");
// Apply erosion followed by sharpening for best results
photocopyInput.Erode()
.Sharpen()
.EnhanceResolution(300);
// Configure OCR for better accuracy
ocrTesseract.Configuration.BlackListCharacters = "~`@#$%^&*()_+-={}[]|\\:\";<>?,./";
ocrTesseract.Configuration.WhiteListCharacters = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789 ";
var ocrResult = ocrTesseract.Read(photocopyInput);
// Extract with confidence check
var highConfidenceText = ocrResult.Blocks
.Where(b => b.Confidence > 90)
.Select(b => b.Text);
```
### Comment concilier l'érosion et la lisibilité du texte?
Pour trouver le bon niveau d'érosion, il faut procéder à des tests minutieux :
- Démarrer avec la morphologie 2x2 par défaut
- Test sur des échantillons de documents représentatifs
- Vérifier que les signes de ponctuation restent visibles
- Veiller à ce que les polices fines ne se cassent pas
Pour les documents avec des poids de texte mixtes, consultez nos [options de configuration avancées](https://ironsoftware.com/csharp/ocr/examples/csharp-configure-setup-tesseract/).
<div class="competitors-section__wrapper-even-1">
<div class="competitors__card" style="width: 48%;">
<img src="/static-assets/ocr/how-to/image-quality-correction/sample.jpg" alt="Document avec des caractères fusionnés/épais qui bénéficieraient d'un traitement par filtre d'érosion" class="img-responsive add-shadow" />
<p class="competitors__download-link" style="color: #181818; font-style: italic;">Avant</p>
</div>
<div class="competitors__card" style="width: 50%;">
<img src="/static-assets/ocr/how-to/image-quality-correction/erode_0.webp" alt="Texte après application du filtre d'érosion montrant des caractères séparés et une épaisseur de trait affinée" class="img-responsive add-shadow" />
<p class="competitors__download-link" style="color: #181818; font-style: italic;">Après</p>
</div>
</div>
## Comment enregistrer des images filtrées sous forme de PDF consultables?
IronOCR vous permet d'enregistrer des PDF modifiés avec des filtres appliqués ou dans leur état d'origine. Le deuxième paramètre de la méthode `SaveAsSearchablePdf` détermine si sauvegarder avec les filtres.
### Quel est l'intérêt de conserver les modifications apportées aux filtres ?
La préservation des changements de filtre présente plusieurs avantages :
- Création de documents plus clairs et plus lisibles
- Maintien de la cohérence entre les lots de documents
- Confirmation visuelle de l'amélioration de la qualité du texte
- Permet des comparaisons de contrôle de la qualité
La création de PDF consultables intègre une couche de texte OCR tout en préservant l'aspect visuel. Pour en savoir plus, consultez notre guide sur la [création de PDF consultables](https://ironsoftware.com/csharp/ocr/how-to/searchable-pdf/).
```csharp
using IronOcr;
var ocr = new IronTesseract();
var ocrInput = new OcrInput();
// Load a PDF file
ocrInput.LoadPdf("invoice.pdf");
// Apply multiple filters for comprehensive improvement
ocrInput.ToGrayScale()
.DeNoise()
.Sharpen()
.EnhanceResolution(300);
// Perform OCR
OcrResult result = ocr.Read(ocrInput);
// Save the result as a searchable PDF with filters applied
result.SaveAsSearchablePdf("outputFiltered.pdf", true);
// Or save without filters to preserve original appearance
result.SaveAsSearchablePdf("outputOriginal.pdf", false);
// Export to other formats
result.SaveAsTextFile("extracted-text.txt");
result.SaveAsHocrFile("output.html");
```
### Comment choisir entre un PDF filtré et un PDF original ?
**Enregistrer avec des filtres (true) quand:**
- La qualité du document original est médiocre
- L'apparence doit être cohérente d'un document à l'autre
- La version filtrée améliore considérablement la lisibilité
- Archivage de documents pour un stockage à long terme
**Enregistrer sans filtre (faux) quand:**
- La préservation de l'aspect original est une obligation légale
- Les informations sur les couleurs sont importantes
- L'authenticité du document doit être préservée
- Les filtres ne sont nécessaires que pour la précision de l'OCR
Pour des options de traitement PDF avancées, consultez notre [Guide d'extraction de texte OCR pour PDF](https://ironsoftware.com/csharp/ocr/examples/csharp-pdf-ocr/). Pour des combinaisons de filtres optimales, voir le tutoriel [Assistant de filtre](https://ironsoftware.com/csharp/ocr/how-to/filter-wizard/).
IronOCR fournit cinq filtres essentiels de correction d'image (sharpen, enhance resolution, denoise, dilate, et erode) qui effectuent un prétraitement des images pour améliorer significativement la précision de l'OCR en améliorant la clarté du texte et en réduisant le bruit avant l'extraction de texte.
Démarrage rapide : Appliquez un filtre d'accentuation pour un texte clair
Utilisez OcrImageInput d'IronOCR pour affiner une image floue avec une seule ligne de code. Cet exemple montre l'amélioration de l'image pour une reconnaissance optique des caractères (OCR) précise.
Importez le document PDF et les images pour la lecture
Appliquez les filtres souhaités, tels que aiguiser, améliorer la résolution, supprimer le bruit, dilater et éroder
Exportez l'image corrigée pour la visionner
Utiliser la méthode Read pour le traitement OCR
Comment appliquer le filtre d'accentuation de la netteté ?
Ce filtre augmente le contraste sur les bords de l'image, ce qui permet de mieux définir les limites du texte. Elle améliore la clarté du texte, rendant la reconnaissance des caractères plus précise.
Pourquoi l'affinage améliore-t-il la précision de l'OCR ?
Le filtre d'accentuation souligne les limites entre le texte et l'arrière-plan en améliorant le contraste des bords. Les algorithmes de reconnaissance de caractères ont besoin de formes de lettres claires et distinctes pour fonctionner correctement. Un texte flou aux contours flous, courant dans les documents numérisés ou les photos de mauvaise qualité, entraîne une mauvaise identification des limites des caractères par les moteurs de reconnaissance optique de caractères. Pour en savoir plus sur le traitement optimal des images pour l'OCR, consultez notre guide complet sur les filtres d'optimisation d'image pour l'OCR.
Pour appliquer le filtre d'affûtage, invoquez la méthode Sharpen de l'objet OcrImageInput.
using IronOcr;// Instantiate IronTesseractIronTesseract ocrTesseract = new IronTesseract();// Add imageusing var imageInput = new OcrImageInput("sample.jpg");// Apply sharpen filterimageInput.Sharpen();// Export filtered imageimageInput.SaveAsImages("sharpen.jpg");
using IronOcr;
// Instantiate IronTesseract
IronTesseract ocrTesseract = new IronTesseract();
// Add image
using var imageInput = new OcrImageInput("sample.jpg");
// Apply sharpen filter
imageInput.Sharpen();
// Export filtered image
imageInput.SaveAsImages("sharpen.jpg");
ImportsIronOcr' Instantiate IronTesseractPrivate ocrTesseract As New IronTesseract()' Add imagePrivate imageInput = New OcrImageInput("sample.jpg")' Apply sharpen filterimageInput.Sharpen()' Export filtered imageimageInput.SaveAsImages("sharpen.jpg")
Imports IronOcr
' Instantiate IronTesseract
Private ocrTesseract As New IronTesseract()
' Add image
Private imageInput = New OcrImageInput("sample.jpg")
' Apply sharpen filter
imageInput.Sharpen()
' Export filtered image
imageInput.SaveAsImages("sharpen.jpg")
Quand utiliser le filtre d'accentuation de la netteté ?
Utilisez le renforcement de la netteté pour les images légèrement floues, les documents numérisés dont les bords du texte sont flous ou les photographies prises sous un mauvais éclairage. Évitez de trop accentuer le texte clair, car cela introduit des artefacts et réduit la précision. Pour les scans extrêmement flous, combinez l'accentuation avec d'autres filtres ou consultez notre guide sur Réparation de scans et d'images de faible qualité.
Exportez les images filtrées en utilisant la méthode SaveAsImages. Vous trouverez ci-dessous une comparaison avant/après.
Avant
Après
Comment améliorer la résolution pour une meilleure OCR?
Ce filtre augmente la densité des pixels, améliorant ainsi la netteté et la clarté. Il aide les moteurs OCR à lire plus précisément le texte dans les images à faible résolution.
Quel DPI dois-je viser pour l'OCR?
Les moteurs OCR sont plus performants à 300 DPI (points par pouce). Les résolutions inférieures entraînent une mauvaise reconnaissance des caractères ; les résolutions plus élevées ralentissent le traitement sans améliorer la précision. Le filtre d'amélioration d'IronOCR met intelligemment à l'échelle les images à des niveaux optimaux de DPI. Pour des conseils détaillés, consultez notre guide des paramètres DPI.
Invoquez la méthode EnhanceResolution pour appliquer ce filtre. La cible par défaut est 225 DPI :
using IronOcr;// Create OCR inputvar imageInput = new OcrImageInput("low-res-scan.jpg");// Apply enhance resolution filter with default 225 DPIimageInput.EnhanceResolution();// Or specify a custom DPIimageInput.EnhanceResolution(300);// Combine with OCR readingvar ocr = new IronTesseract();var result = ocr.Read(imageInput);Console.WriteLine($"Extracted text: {result.Text}");
using IronOcr;
// Create OCR input
var imageInput = new OcrImageInput("low-res-scan.jpg");
// Apply enhance resolution filter with default 225 DPI
imageInput.EnhanceResolution();
// Or specify a custom DPI
imageInput.EnhanceResolution(300);
// Combine with OCR reading
var ocr = new IronTesseract();
var result = ocr.Read(imageInput);
Console.WriteLine($"Extracted text: {result.Text}");
ImportsIronOcr' Create OCR inputDim imageInput As New OcrImageInput("low-res-scan.jpg")' Apply enhance resolution filter with default 225 DPIimageInput.EnhanceResolution()' Or specify a custom DPIimageInput.EnhanceResolution(300)' Combine with OCR readingDim ocr As New IronTesseract()Dim result = ocr.Read(imageInput)Console.WriteLine($"Extracted text: {result.Text}")
Imports IronOcr
' Create OCR input
Dim imageInput As New OcrImageInput("low-res-scan.jpg")
' Apply enhance resolution filter with default 225 DPI
imageInput.EnhanceResolution()
' Or specify a custom DPI
imageInput.EnhanceResolution(300)
' Combine with OCR reading
Dim ocr As New IronTesseract()
Dim result = ocr.Read(imageInput)
Console.WriteLine($"Extracted text: {result.Text}")
Quand l'amélioration de la résolution est-elle la plus importante?
L'amélioration de la résolution est cruciale pour :
Captures d'écran capturées à la résolution de l'écran (72-96 DPI)
Images web téléchargées sur l'internet
Documents historiques numérisés à faible résolution
Transmissions par fax à faible résolution
L'exemple OCR Tesseract Image DPI permet de comprendre comment le DPI affecte la précision des différents types de documents.
Avant
Après
Comment supprimer le bruit des images?
Les filtres de débruitage réduisent les artefacts indésirables dans les images. La réduction du bruit isole le texte des interférences de l'arrière-plan, ce qui permet d'obtenir des résultats d'OCR plus nets et plus précis.
Quelle est la différence entre la morphologie 2x2 et la morphologie 3x3 ?
La taille de la morphologie détermine la force du débruitage. Une morphologie 2x2 applique une réduction douce du bruit pour minimiser les artefacts tout en préservant la finesse du texte. La morphologie 3x3 permet une suppression agressive du bruit pour les documents fortement dégradés, mais peut affecter les textes de très petite taille.
Pour appliquer le filtre anti-bruit, utilisez la méthode DeNoise. La morphologie par défaut est 2x2. Passez 'true' pour une morphologie 3x3 :
using IronOcr;// Load noisy documentvar imageInput = new OcrImageInput("noisy-scan.pdf");// Apply denoise filter with default 2x2 morphologyimageInput.DeNoise();// Apply stronger denoising with 3x3 morphologyimageInput.DeNoise(true);// Combine with other filters for severely degraded imagesimageInput.DeNoise() .Sharpen() .EnhanceResolution(300);// Process with OCRvar ocr = new IronTesseract();var result = ocr.Read(imageInput);// Check confidence levelsforeach (var page in result.Pages){Console.WriteLine($"Page confidence: {page.Confidence}%");}
using IronOcr;
// Load noisy document
var imageInput = new OcrImageInput("noisy-scan.pdf");
// Apply denoise filter with default 2x2 morphology
imageInput.DeNoise();
// Apply stronger denoising with 3x3 morphology
imageInput.DeNoise(true);
// Combine with other filters for severely degraded images
imageInput.DeNoise()
.Sharpen()
.EnhanceResolution(300);
// Process with OCR
var ocr = new IronTesseract();
var result = ocr.Read(imageInput);
// Check confidence levels
foreach (var page in result.Pages)
{
Console.WriteLine($"Page confidence: {page.Confidence}%");
}
ImportsIronOcr' Load noisy documentDim imageInput As New OcrImageInput("noisy-scan.pdf")' Apply denoise filter with default 2x2 morphologyimageInput.DeNoise()' Apply stronger denoising with 3x3 morphologyimageInput.DeNoise(True)' Combine with other filters for severely degraded imagesimageInput.DeNoise() _ .Sharpen() _ .EnhanceResolution(300)' Process with OCRDim ocr As New IronTesseract()Dim result = ocr.Read(imageInput)' Check confidence levelsFor Each page In result.PagesConsole.WriteLine($"Page confidence: {page.Confidence}%")Next
Imports IronOcr
' Load noisy document
Dim imageInput As New OcrImageInput("noisy-scan.pdf")
' Apply denoise filter with default 2x2 morphology
imageInput.DeNoise()
' Apply stronger denoising with 3x3 morphology
imageInput.DeNoise(True)
' Combine with other filters for severely degraded images
imageInput.DeNoise() _
.Sharpen() _
.EnhanceResolution(300)
' Process with OCR
Dim ocr As New IronTesseract()
Dim result = ocr.Read(imageInput)
' Check confidence levels
For Each page In result.Pages
Console.WriteLine($"Page confidence: {page.Confidence}%")
Next
Comment savoir si mon image a besoin d'être débruitée?
Recherchez ces indicateurs de bruit :
Taches ou points aléatoires sur l'arrière-plan
Bruit salé et poivré dû à une mauvaise numérisation
La dilatation élargit les régions lumineuses dans les images. Elle épaissit le texte, le rendant plus visible et plus facile à interpréter par les logiciels de reconnaissance optique de caractères (OCR).
Quand dois-je appliquer la dilatation au texte?
La dilatation fonctionne mieux avec les caractères de texte minces ou brisés que l'on trouve dans :
Vieux documents dactylographiés à l'encre irrégulière
Reçus défraîchis et impressions sur papier thermique
Documents avec des polices de type "hairline
Texte surcompressé dans des formats d'image
La dilatation permet de combler les petites lacunes à l'intérieur des caractères et de renforcer les connexions faibles entre les traits. Cela permet d'éviter que les moteurs de reconnaissance optique de caractères n'interprètent à tort les caractères discontinus comme des symboles multiples.
Pour appliquer le filtre de dilation, utilisez la méthode Dilate. La morphologie par défaut est 2x2 ; passer 'true' pour 3x3 :
using IronOcr;// Create OCR enginevar ocrTesseract = new IronTesseract();// Apply dilate filtervar imageInput = new OcrImageInput("thin-text.jpg");imageInput.Dilate();// For more aggressive dilationimageInput.Dilate(true);// Practical example for faded receipt processingvar receiptInput = new OcrImageInput("faded-receipt.jpg");receiptInput.Dilate() .DeNoise() .EnhanceResolution(300);// Configure for better receipt readingocrTesseract.Configuration.PageSegmentationMode = TesseractPageSegmentationMode.SingleBlock;ocrTesseract.Configuration.ReadBarCodes = true;// Perform OCRvar result = ocrTesseract.Read(receiptInput);
using IronOcr;
// Create OCR engine
var ocrTesseract = new IronTesseract();
// Apply dilate filter
var imageInput = new OcrImageInput("thin-text.jpg");
imageInput.Dilate();
// For more aggressive dilation
imageInput.Dilate(true);
// Practical example for faded receipt processing
var receiptInput = new OcrImageInput("faded-receipt.jpg");
receiptInput.Dilate()
.DeNoise()
.EnhanceResolution(300);
// Configure for better receipt reading
ocrTesseract.Configuration.PageSegmentationMode = TesseractPageSegmentationMode.SingleBlock;
ocrTesseract.Configuration.ReadBarCodes = true;
// Perform OCR
var result = ocrTesseract.Read(receiptInput);
ImportsIronOcr' Create OCR engineDim ocrTesseract As New IronTesseract()' Apply dilate filterDim imageInput As New OcrImageInput("thin-text.jpg")imageInput.Dilate()' For more aggressive dilationimageInput.Dilate(True)' Practical example for faded receipt processingDim receiptInput As New OcrImageInput("faded-receipt.jpg")receiptInput.Dilate() _ .DeNoise() _ .EnhanceResolution(300)' Configure for better receipt readingocrTesseract.Configuration.PageSegmentationMode = TesseractPageSegmentationMode.SingleBlockocrTesseract.Configuration.ReadBarCodes = True' Perform OCRDim result = ocrTesseract.Read(receiptInput)
Imports IronOcr
' Create OCR engine
Dim ocrTesseract As New IronTesseract()
' Apply dilate filter
Dim imageInput As New OcrImageInput("thin-text.jpg")
imageInput.Dilate()
' For more aggressive dilation
imageInput.Dilate(True)
' Practical example for faded receipt processing
Dim receiptInput As New OcrImageInput("faded-receipt.jpg")
receiptInput.Dilate() _
.DeNoise() _
.EnhanceResolution(300)
' Configure for better receipt reading
ocrTesseract.Configuration.PageSegmentationMode = TesseractPageSegmentationMode.SingleBlock
ocrTesseract.Configuration.ReadBarCodes = True
' Perform OCR
Dim result = ocrTesseract.Read(receiptInput)
Quels sont les problèmes courants liés à la surdilatation ?
Une dilatation excessive peut provoquer :
Saignement des caractères lorsque des lettres adjacentes se confondent
Perte de détails internes (trous en 'e' ou '8')
Précision réduite pour le texte en gras
Contrôlez les résultats et ajustez-les en conséquence. Pour les documents comportant des textes de poids différents, utilisez nos filtres de correction de la qualité de l'image de manière sélective.
Avant
Après
Comment appliquer le filtre Erode?
L'érosion réduit la taille des zones claires dans les images, en affinant les caractères épais ou déformés et en améliorant la séparation des caractères.
Pourquoi l'érosion est-elle utile pour les textes épais ?
L'érosion amincit les traits du texte et sépare les caractères qui se touchent. Ce filtre excelle avec :
Documents imprimés surchargés
Photocopies avec saignée des caractères
Texte en gras qui apparaît fusionné
Transmissions de télécopies de mauvaise qualité
Une érosion minutieuse rétablit la séparation des caractères et améliore la reconnaissance des lettres individuelles, évitant ainsi que des mots entiers ne soient mal lus.
Utilisez la méthode Erode pour appliquer ce filtre. La morphologie par défaut est 2x2 ; passer 'true' pour 3x3 :
using IronOcr;// Create OCR instancevar ocrTesseract = new IronTesseract();// Load image with thick textvar imageInput = new OcrImageInput("thick-text.jpg");// Apply erode filterimageInput.Erode();// Stronger erosion for heavily bleeding textimageInput.Erode(true);// Example: Processing a poor-quality photocopyvar photocopyInput = new OcrImageInput("thick-text-photocopy.pdf");// Apply erosion followed by sharpening for best resultsphotocopyInput.Erode() .Sharpen() .EnhanceResolution(300);// Configure OCR for better accuracyocrTesseract.Configuration.BlackListCharacters = "~`@#$%^&*()_+-={}[]|\\:\";<>?,./";ocrTesseract.Configuration.WhiteListCharacters = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789 ";var ocrResult = ocrTesseract.Read(photocopyInput);// Extract with confidence checkvar highConfidenceText = ocrResult.Blocks .Where(b => b.Confidence > 90) .Select(b => b.Text);
using IronOcr;
// Create OCR instance
var ocrTesseract = new IronTesseract();
// Load image with thick text
var imageInput = new OcrImageInput("thick-text.jpg");
// Apply erode filter
imageInput.Erode();
// Stronger erosion for heavily bleeding text
imageInput.Erode(true);
// Example: Processing a poor-quality photocopy
var photocopyInput = new OcrImageInput("thick-text-photocopy.pdf");
// Apply erosion followed by sharpening for best results
photocopyInput.Erode()
.Sharpen()
.EnhanceResolution(300);
// Configure OCR for better accuracy
ocrTesseract.Configuration.BlackListCharacters = "~`@#$%^&*()_+-={}[]|\\:\";<>?,./";
ocrTesseract.Configuration.WhiteListCharacters = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789 ";
var ocrResult = ocrTesseract.Read(photocopyInput);
// Extract with confidence check
var highConfidenceText = ocrResult.Blocks
.Where(b => b.Confidence > 90)
.Select(b => b.Text);
ImportsIronOcr' Create OCR instanceDim ocrTesseract As New IronTesseract()' Load image with thick textDim imageInput As New OcrImageInput("thick-text.jpg")' Apply erode filterimageInput.Erode()' Stronger erosion for heavily bleeding textimageInput.Erode(True)' Example: Processing a poor-quality photocopyDim photocopyInput As New OcrImageInput("thick-text-photocopy.pdf")' Apply erosion followed by sharpening for best resultsphotocopyInput.Erode() _ .Sharpen() _ .EnhanceResolution(300)' Configure OCR for better accuracyocrTesseract.Configuration.BlackListCharacters = "~`@#$%^&*()_+-={}[]|\:"";<>?,./"ocrTesseract.Configuration.WhiteListCharacters = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789 "Dim ocrResult = ocrTesseract.Read(photocopyInput)' Extract with confidence checkDim highConfidenceText = ocrResult.Blocks _ .Where(Function(b) b.Confidence > 90) _ .Select(Function(b) b.Text)
Imports IronOcr
' Create OCR instance
Dim ocrTesseract As New IronTesseract()
' Load image with thick text
Dim imageInput As New OcrImageInput("thick-text.jpg")
' Apply erode filter
imageInput.Erode()
' Stronger erosion for heavily bleeding text
imageInput.Erode(True)
' Example: Processing a poor-quality photocopy
Dim photocopyInput As New OcrImageInput("thick-text-photocopy.pdf")
' Apply erosion followed by sharpening for best results
photocopyInput.Erode() _
.Sharpen() _
.EnhanceResolution(300)
' Configure OCR for better accuracy
ocrTesseract.Configuration.BlackListCharacters = "~`@#$%^&*()_+-={}[]|\:"";<>?,./"
ocrTesseract.Configuration.WhiteListCharacters = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789 "
Dim ocrResult = ocrTesseract.Read(photocopyInput)
' Extract with confidence check
Dim highConfidenceText = ocrResult.Blocks _
.Where(Function(b) b.Confidence > 90) _
.Select(Function(b) b.Text)
Comment concilier l'érosion et la lisibilité du texte?
Pour trouver le bon niveau d'érosion, il faut procéder à des tests minutieux :
Démarrer avec la morphologie 2x2 par défaut
Test sur des échantillons de documents représentatifs
Vérifier que les signes de ponctuation restent visibles
Veiller à ce que les polices fines ne se cassent pas
Comment enregistrer des images filtrées sous forme de PDF consultables?
IronOCR vous permet d'enregistrer des PDF modifiés avec des filtres appliqués ou dans leur état d'origine. Le deuxième paramètre de la méthode SaveAsSearchablePdf détermine si sauvegarder avec les filtres.
Quel est l'intérêt de conserver les modifications apportées aux filtres ?
La préservation des changements de filtre présente plusieurs avantages :
Création de documents plus clairs et plus lisibles
Maintien de la cohérence entre les lots de documents
Confirmation visuelle de l'amélioration de la qualité du texte
Permet des comparaisons de contrôle de la qualité
La création de PDF consultables intègre une couche de texte OCR tout en préservant l'aspect visuel. Pour en savoir plus, consultez notre guide sur la création de PDF consultables.
using IronOcr;var ocr = new IronTesseract();var ocrInput = new OcrInput();// Load a PDF fileocrInput.LoadPdf("invoice.pdf");// Apply multiple filters for comprehensive improvementocrInput.ToGrayScale() .DeNoise() .Sharpen() .EnhanceResolution(300);// Perform OCROcrResult result = ocr.Read(ocrInput);// Save the result as a searchable PDF with filters appliedresult.SaveAsSearchablePdf("outputFiltered.pdf", true);// Or save without filters to preserve original appearanceresult.SaveAsSearchablePdf("outputOriginal.pdf", false);// Export to other formatsresult.SaveAsTextFile("extracted-text.txt");result.SaveAsHocrFile("output.html");
using IronOcr;
var ocr = new IronTesseract();
var ocrInput = new OcrInput();
// Load a PDF file
ocrInput.LoadPdf("invoice.pdf");
// Apply multiple filters for comprehensive improvement
ocrInput.ToGrayScale()
.DeNoise()
.Sharpen()
.EnhanceResolution(300);
// Perform OCR
OcrResult result = ocr.Read(ocrInput);
// Save the result as a searchable PDF with filters applied
result.SaveAsSearchablePdf("outputFiltered.pdf", true);
// Or save without filters to preserve original appearance
result.SaveAsSearchablePdf("outputOriginal.pdf", false);
// Export to other formats
result.SaveAsTextFile("extracted-text.txt");
result.SaveAsHocrFile("output.html");
ImportsIronOcrDim ocr As New IronTesseract()Dim ocrInput As New OcrInput()' Load a PDF fileocrInput.LoadPdf("invoice.pdf")' Apply multiple filters for comprehensive improvementocrInput.ToGrayScale() _ .DeNoise() _ .Sharpen() _ .EnhanceResolution(300)' Perform OCRDim result AsOcrResult = ocr.Read(ocrInput)' Save the result as a searchable PDF with filters appliedresult.SaveAsSearchablePdf("outputFiltered.pdf", True)' Or save without filters to preserve original appearanceresult.SaveAsSearchablePdf("outputOriginal.pdf", False)' Export to other formatsresult.SaveAsTextFile("extracted-text.txt")result.SaveAsHocrFile("output.html")
Imports IronOcr
Dim ocr As New IronTesseract()
Dim ocrInput As New OcrInput()
' Load a PDF file
ocrInput.LoadPdf("invoice.pdf")
' Apply multiple filters for comprehensive improvement
ocrInput.ToGrayScale() _
.DeNoise() _
.Sharpen() _
.EnhanceResolution(300)
' Perform OCR
Dim result As OcrResult = ocr.Read(ocrInput)
' Save the result as a searchable PDF with filters applied
result.SaveAsSearchablePdf("outputFiltered.pdf", True)
' Or save without filters to preserve original appearance
result.SaveAsSearchablePdf("outputOriginal.pdf", False)
' Export to other formats
result.SaveAsTextFile("extracted-text.txt")
result.SaveAsHocrFile("output.html")
Comment choisir entre un PDF filtré et un PDF original ?
Enregistrer avec des filtres (true) quand:
La qualité du document original est médiocre
L'apparence doit être cohérente d'un document à l'autre
La version filtrée améliore considérablement la lisibilité
Archivage de documents pour un stockage à long terme
Enregistrer sans filtre (faux) quand:
La préservation de l'aspect original est une obligation légale
Les informations sur les couleurs sont importantes
L'authenticité du document doit être préservée
Les filtres ne sont nécessaires que pour la précision de l'OCR
Quels filtres d'image peuvent améliorer la précision de l'OCR en C# ?
IronOCR fournit cinq filtres de correction d'image essentiels : accentuer, améliorer la résolution, dénaturer, dilater et éroder. Ces filtres permettent de prétraiter les images afin d'améliorer de manière significative la précision de l'OCR en améliorant la clarté du texte et en réduisant le bruit avant l'extraction du texte.
Comment améliorer la netteté d'une image floue pour une meilleure reconnaissance du texte ?
Vous pouvez rendre plus nette une image floue à l'aide de l'entrée d'image IronOCR en une seule ligne de code : new IronOcr.OcrImageInput("sample.png").Sharpen(). Ce filtre augmente le contraste le long des bords de l'image, créant des limites de texte plus définies pour une meilleure reconnaissance des caractères.
Pourquoi l'affinage améliore-t-il la précision de l'OCR ?
Le filtre d'accentuation de la netteté d'IronOCR met l'accent sur les limites entre le texte et l'arrière-plan en améliorant le contraste des bords. Ce point est crucial car les algorithmes de reconnaissance de caractères ont besoin de formes de lettres claires et distinctes pour fonctionner correctement. Un texte flou avec des bords doux entraîne une mauvaise identification des limites des caractères par les moteurs de reconnaissance optique des caractères.
Quand dois-je utiliser le filtre de netteté pour l'OCR ?
Utilisez le filtre de netteté d'IronOCR pour les images légèrement floues, les documents numérisés dont les bords du texte sont flous ou les photographies prises sous un mauvais éclairage. Évitez de trop accentuer le texte clair, car cela introduit des artefacts et réduit la précision.
Quel DPI dois-je viser pour une performance optimale de l'OCR ?
IronOCR fonctionne mieux avec des images à 300 DPI (points par pouce). Les résolutions inférieures entraînent une mauvaise reconnaissance des caractères, tandis que les résolutions supérieures ralentissent le traitement sans améliorer la précision. Utilisez le filtre d'amélioration de la résolution pour augmenter la densité des pixels dans les images à faible résolution.
Puis-je exporter des images filtrées après les avoir corrigées ?
Oui, IronOCR vous permet d'exporter des images filtrées à l'aide de la méthode SaveAsImages. Cela vous permet d'afficher des comparaisons avant et après vos corrections d'images et de vérifier les améliorations avant d'exécuter l'OCR.
Quel est le flux de travail minimal pour l'application de filtres d'image ?
Le flux de travail minimal avec IronOCR comporte 5 étapes : téléchargez la bibliothèque, importez votre PDF ou vos images, appliquez les filtres souhaités (accentuation, amélioration de la résolution, débruitage, dilatation, érosion), exportez l'image corrigée pour la visualiser et utilisez la méthode Read pour le traitement OCR.
What parameters should I consider when choosing between filtered and original PDFs?
Choose filtered PDFs when you need consistent appearance, improved readability, or archiving. Opt for original PDFs when preserving original appearance is legally required, or when maintaining color information and document authenticity is important.
What are common signs that my image needs denoising?
Noise indicators include random speckles, salt-and-pepper noise, graininess from high ISO photography, and background texture that interferes with text clarity.
What typical DPI settings are recommended for optimal OCR results?
OCR engines perform best at 300 DPI. Lower resolutions may lead to character misrecognition, while higher resolutions might slow processing without enhancing accuracy. IronOCR's enhancement filter can upscale images to the optimal DPI level.
Curtis Chau détient un baccalauréat en informatique (Université de Carleton) et se spécialise dans le développement front-end avec expertise en Node.js, TypeScript, JavaScript et React. Passionné par la création d'interfaces utilisateur intuitives et esthétiquement plaisantes, Curtis aime travailler avec des frameworks modernes et créer des manuels bien structurés et visuellement attrayants.