C#'da Iron Tesseract Nasıl Kullanılır
Iron Tesseract in C# bir IronTesseract örneği oluşturarak, dil ve OCR ayarlarıyla yapılandırarak, ardından görüntülerinizi veya PDF'lerinizi içeren bir OcrInput nesnesi üzerinde Read() yöntemini çağırarak kullanılır. Bu, metin görüntülerini Tesseract 5'in optimize edilmiş motorunu kullanarak aranabilir PDF'lere dönüştürür.
IronOCR, Iron Tesseract olarak bilinen ozellestirilmis ve optimize edilmis Tesseract 5'i kullanmak icin sezgisel bir API saglar. IronOCR ve IronTesseract kullanarak, metin görüntülerini ve taranmış belgeleri metin ve aranabilir PDF'lere dönüştürebileceksiniz. Kutuphane, 125 uluslar arasi dili destekler ve barkod okuma ve bilgisayarla görme gibi gelişmiş özellikler icermektedir.
Hızlı Başlangıç: C#'da IronTesseract Yapılandırması
Bu örnek, IronTesseract'ı belirli ayarlarla nasıl yapılandıracağınızı ve tek bir kod satırında OCR işlemi yapacağınızı gösterir.
-
NuGet Paket Yöneticisi ile https://www.nuget.org/packages/IronOcr yükleyin
PM > Install-Package IronOcr -
Bu kod parçasını kopyalayıp çalıştırın.
var result = new IronOcr.IronTesseract { Language = IronOcr.OcrLanguage.English, Configuration = new IronOcr.TesseractConfiguration { ReadBarCodes = false, RenderSearchablePdf = true, WhiteListCharacters = "ABCabc123" } }.Read(new IronOcr.OcrInput("image.png")); -
Canlı ortamınızda test etmek için dağıtın
Bugün projenizde IronOCR kullanmaya başlayın ücretsiz deneme ile
Temel OCR İş Akışı
- Görüntüleri okumak için NuGet ile OCR Kutuphanesini Yukleyin
- Utilize Custom `Tesseract 5` to perform OCR
- Islenecek kisim olarak resim ya da PDF belgeler yukleyin
- Cikartilan metni konsol ya da dosyaya cikart
- Sonucu arama yapilabilir bir PDF olarak kaydedin
IronTesseract Ornegi Nasıl Oluşturulur?
Bu kodla bir Tesseract nesnesini başlangıç yapın:
:path=/static-assets/ocr/content-code-examples/how-to/irontesseract-initialize-irontesseract.cs
using IronOcr;
IronTesseract ocr = new IronTesseract();
Imports IronOcr
Dim ocr As New IronTesseract()
Farklı diller seçerek, barkod okumayı etkinleştirerek ve karakterleri beyaz/kara listeye alarak IronTesseract davranışını özelleştirebilirsiniz. IronOCR, OCR sürecinizi ince ayarlamak icin kapsamli konfigurasyon seçenekleri sunar:
:path=/static-assets/ocr/content-code-examples/how-to/irontesseract-configure-irontesseract.cs
IronTesseract ocr = new IronTesseract
{
Configuration = new TesseractConfiguration
{
ReadBarCodes = false,
RenderHocr = true,
TesseractVariables = null,
WhiteListCharacters = null,
BlackListCharacters = "`ë|^",
},
MultiThreaded = false,
Language = OcrLanguage.English,
EnableTesseractConsoleMessages = true, // False as default
};
Dim ocr As New IronTesseract With {
.Configuration = New TesseractConfiguration With {
.ReadBarCodes = False,
.RenderHocr = True,
.TesseractVariables = Nothing,
.WhiteListCharacters = Nothing,
.BlackListCharacters = "`ë|^"
},
.MultiThreaded = False,
.Language = OcrLanguage.English,
.EnableTesseractConsoleMessages = True
}
Yapılandırıldıktan sonra, OcrInput nesnelerini okumak için Tesseract işlevselliğini kullanabilirsiniz. OcrInput sinifi çeşitli giris formatlarini yüklemek icin esnek yöntemler saglar:
:path=/static-assets/ocr/content-code-examples/how-to/irontesseract-read.cs
IronTesseract ocr = new IronTesseract();
using OcrInput input = new OcrInput();
input.LoadImage("attachment.png");
OcrResult result = ocr.Read(input);
string text = result.Text;
Dim ocr As New IronTesseract()
Using input As New OcrInput()
input.LoadImage("attachment.png")
Dim result As OcrResult = ocr.Read(input)
Dim text As String = result.Text
End Using
Karmaşık senaryolar icin, coklu dokümanlari ayni anda işleyerek toplu işlemeler icin performansı önemli derecede iyilestirmek icin coklu işleme yeteneklerini kullanabilirsiniz.
Gelişmiş Tesseract Yapılandırma Degiskenleri Nelerdir?
IronOcr Tesseract arayuzu, IronOcr.TesseractConfiguration Sinifi aracılığıyla Tesseract yapılandırma degiskenlerinin tamamen kontrolunu saglar. Bu gelişmiş ayarlar, dusuk kaliteli taramalar düzeltmek ya da belirli doküman tiplerini okuma gibi ozel kullanim durumlari icin OCR performansini optimize etmenizi saglar.
Tesseract Yapılandırması Kodda Nasıl Kullanılır?
:path=/static-assets/ocr/content-code-examples/how-to/irontesseract-tesseract-configuration.cs
using IronOcr;
using System;
IronTesseract Ocr = new IronTesseract();
Ocr.Language = OcrLanguage.English;
Ocr.Configuration.PageSegmentationMode = TesseractPageSegmentationMode.AutoOsd;
// Configure Tesseract Engine
Ocr.Configuration.TesseractVariables["tessedit_parallelize"] = false;
using var input = new OcrInput();
input.LoadImage("/path/file.png");
OcrResult Result = Ocr.Read(input);
Console.WriteLine(Result.Text);
Imports IronOcr
Imports System
Private Ocr As New IronTesseract()
Ocr.Language = OcrLanguage.English
Ocr.Configuration.PageSegmentationMode = TesseractPageSegmentationMode.AutoOsd
' Configure Tesseract Engine
Ocr.Configuration.TesseractVariables("tessedit_parallelize") = False
Dim input = New OcrInput()
input.LoadImage("/path/file.png")
Dim Result As OcrResult = Ocr.Read(input)
Console.WriteLine(Result.Text)
IronOCR, farkli doküman tipleri icin ozellestirilmis yapılandırma da sunar. Ornegin, pasaport okuma veya MICR cek işleme</a sırasında, ozgul on işleme filtreleri ve bolge algilama uygulayarak doğruluk artışı elde edebilirsiniz.
Finans belgeleri icin örnek yapılandırma:
// Example: Configure for financial documents
IronTesseract ocr = new IronTesseract
{
Language = OcrLanguage.English,
Configuration = new TesseractConfiguration
{
PageSegmentationMode = TesseractPageSegmentationMode.SingleBlock,
TesseractVariables = new Dictionary<string, object>
{
["tessedit_char_whitelist"] = "0123456789.$,",
["textord_heavy_nr"] = false,
["edges_max_children_per_outline"] = 10
}
}
};
// Apply preprocessing filters for better accuracy
using OcrInput input = new OcrInput();
input.LoadPdf("financial-document.pdf");
input.Deskew();
input.EnhanceResolution(300);
OcrResult result = ocr.Read(input);
// Example: Configure for financial documents
IronTesseract ocr = new IronTesseract
{
Language = OcrLanguage.English,
Configuration = new TesseractConfiguration
{
PageSegmentationMode = TesseractPageSegmentationMode.SingleBlock,
TesseractVariables = new Dictionary<string, object>
{
["tessedit_char_whitelist"] = "0123456789.$,",
["textord_heavy_nr"] = false,
["edges_max_children_per_outline"] = 10
}
}
};
// Apply preprocessing filters for better accuracy
using OcrInput input = new OcrInput();
input.LoadPdf("financial-document.pdf");
input.Deskew();
input.EnhanceResolution(300);
OcrResult result = ocr.Read(input);
Imports IronOcr
' Example: Configure for financial documents
Dim ocr As New IronTesseract With {
.Language = OcrLanguage.English,
.Configuration = New TesseractConfiguration With {
.PageSegmentationMode = TesseractPageSegmentationMode.SingleBlock,
.TesseractVariables = New Dictionary(Of String, Object) From {
{"tessedit_char_whitelist", "0123456789.$,"},
{"textord_heavy_nr", False},
{"edges_max_children_per_outline", 10}
}
}
}
' Apply preprocessing filters for better accuracy
Using input As New OcrInput()
input.LoadPdf("financial-document.pdf")
input.Deskew()
input.EnhanceResolution(300)
Dim result As OcrResult = ocr.Read(input)
End Using
Tüm Tesseract Yapılandırması Degiskenlerinin Tam Listesi Nedir?
Bunlar IronTesseract.Configuration.TesseractVariables["key"] = value; kullanılarak ayarlanabilir. Yapılandırma degiskenleri, ozel dokümanlariniz icin optimal sonuclar almak icin OCR davranisini ince ayar yapmanizi saglar. OCR performansini optimum hale getirmek icin detayli rehberlik icin hizli OCR yapılandırma kılavuzuna basvurun.
| Tesseract Yapılandırma Degiskeni | Varsıyılan | Anlami |
|---|---|---|
| sınıflandırma_numu_cp_seviyeleri | 3 | Sınıf Pruner Seviyeleri Sayısı |
| textord_debug_tabfind | 0 | Debug sekme bulma |
| textord_debug_bugs | 0 | Sekme bulmadaki hatalarla ilgili cikis acma |
| textord_testregion_sola | -1 | Debug raporlama dikdörtgeninin sol kenari |
| textord_testregion_ustu | -1 | Debug raporlama dikdörtgeninin ust kenari |
| textord_testregion_sağa | 2147483647 | Debug dikdörtgeninin sağ kenari |
| textord_testregion_alt | 2147483647 | Debug dikdörtgeninin alt kenari |
| textord_tabfind_show_partitions | 0 | Bolme sinirlarini göster, >1 ise bekliyor |
| devanagari_split_debuglevel | 0 | Şiro-rekha bölmesinin debug seviyesi. |
| edges_max_children_per_outline | 10 | Bir karakter taslaği içindeki maksimum çocuk sayisi |
| edges_max_children_layers | 5 | Bir karakter taslağı içindeki yerleşik çocuk katmanlarının en fazla sayisi |
| edges_children_per_grandchild | 10 | Cizimleri ayiklamanin onem oranı |
| edges_children_count_limit | 45 | Blobda izin verilen maksimum delik sayisi |
| edges_min_nonhole | 12 | Kutuda potansiyel karakter icin minimum pikseller |
| edges_patharea_ratio | 40 | Max lensq/area for acceptable child outline |
| textord_fp_chop_error | 2 | Kesme hucrelerinin maksimum izin verilen bukulmesi |
| textord_tabfind_show_images | 0 | Show image blobs |
| textord_skewsmooth_offset | 4 | Düzgün faktör icin |
| textord_skewsmooth_offset2 | 1 | Düzgün faktör icin |
| textord_test_x | -2147483647 | coord of test pt |
| textord_test_y | -2147483647 | coord of test pt |
| textord_min_blobs_in_row | 4 | Gradyan sayılmadan önceki minimum damlacıklar |
| textord_spline_minblobs | 8 | Min blobs in each spline segment |
| textord_spline_medianwin | 6 | Size of window for spline segmentation |
| textord_max_blob_overlaps | 4 | Max number of blobs a big blob can overlap |
| textord_min_xheight | 10 | Min credible pixel xheight |
| textord_lms_line_trials | 12 | Number of linew fits to do |
| oldbl_holed_losscount | 10 | Max lost before fallback line used |
| pitsync_linear_version | 6 | Use new fast algorithm |
| pitsync_fake_depth | 1 | Max advance fake generation |
| textord_tabfind_show_strokewidths | 0 | Show stroke widths |
| textord_dotmatrix_gap | 3 | Max pixel gap for broken pixed pitch |
| textord_debug_block | 0 | Block to do debug on |
| textord_pitch_range | 2 | Max range test on pitch |
| textord_words_veto_power | 5 | Rows required to outvote a veto |
| equationdetect_save_bi_image | 0 | Save input bi image |
| equationdetect_save_spt_image | 0 | Save special character image |
| equationdetect_save_seed_image | 0 | Save the seed image |
| equationdetect_save_merged_image | 0 | Save the merged image |
| poly_debug | 0 | Debug old poly |
| poly_wide_objects_better | 1 | More accurate approx on wide things |
| wordrec_display_splits | 0 | Display splits |
| textord_debug_printable | 0 | Make debug windows printable |
| textord_space_size_is_variable | 0 | If true, word delimiter spaces are assumed to have variable width, even though characters have fixed pitch. |
| textord_tabfind_show_initial_partitions | 0 | Show partition bounds |
| textord_tabfind_show_reject_blobs | 0 | Show blobs rejected as noise |
| textord_tabfind_show_columns | 0 | Show column bounds |
| textord_tabfind_show_blocks | 0 | Show final block bounds |
| textord_tabfind_find_tables | 1 | run table detection |
| devanagari_split_debugimage | 0 | Whether to create a debug image for split shiro-rekha process. |
| textord_show_fixed_cuts | 0 | Draw fixed pitch cell boundaries |
| edges_use_new_outline_complexity | 0 | Use the new outline complexity module |
| edges_debug | 0 | turn on debugging for this module |
| edges_children_fix | 0 | Remove boxy parents of char-like children |
| gapmap_debug | 0 | Say which blocks have tables |
| gapmap_use_ends | 0 | Use large space at start and end of rows |
| gapmap_no_isolated_quanta | 0 | Ensure gaps not less than 2quanta wide |
| textord_heavy_nr | 0 | Vigorously remove noise |
| textord_show_initial_rows | 0 | Display row accumulation |
| textord_show_parallel_rows | 0 | Display page correlated rows |
| textord_show_expanded_rows | 0 | Display rows after expanding |
| textord_show_final_rows | 0 | Display rows after final fitting |
| textord_show_final_blobs | Display blob bounds after pre-ass | |
| textord_test_landscape | 0 | Tests refer to land/port |
| textord_parallel_baselines | 1 | Force parallel baselines |
| textord_straight_baselines | 0 | Force straight baselines |
| textord_old_baselines | 1 | |
| textord_old_xheight | 0 | Use old xheight algorithm |
| textord_fix_xheight_bug | 1 | Use spline baseline |
| textord_fix_makerow_bug | 1 | Prevent multiple baselines |
| textord_debug_xheights | 0 | Test xheight algorithms |
| textord_biased_skewcalc | 1 | Bias skew estimates with line length |
| textord_interpolating_skew | 1 | Interpolate across gaps |
| textord_new_initial_xheight | 1 | Use test xheight mechanism |
| textord_debug_blob | 0 | Print test blob information |
| textord_really_old_xheight | 0 | Use original wiseowl xheight |
| textord_oldbl_debug | 0 | Debug old baseline generation |
| textord_debug_baselines | 0 | Debug baseline generation |
| textord_oldbl_paradef | 1 | Use para default mechanism |
| textord_oldbl_split_splines | 1 | Split stepped splines |
| textord_oldbl_merge_parts | 1 | Merge suspect partitions |
| oldbl_corrfix | 1 | Improve correlation of heights |
| oldbl_xhfix | 0 | Fix bug in modes threshold for xheights |
| textord_ocropus_mode | 0 | Make baselines for ocropus |
| textord_tabfind_only_strokewidths | 0 | Only run stroke widths |
| textord_tabfind_show_initialtabs | 0 | Show tab candidates |
| textord_tabfind_show_finaltabs | 0 | Show tab vectors |
| textord_show_tables | 0 | Show table regions |
| textord_tablefind_show_mark | 0 | Debug table marking steps in detail |
| textord_tablefind_show_stats | 0 | Show page stats used in table finding |
| textord_tablefind_recognize_tables | 0 | Enables the table recognizer for table layout and filtering. |
| textord_all_prop | ||
| textord_debug_pitch_test | ||
| textord_disable_pitch_test | ||
| textord_fast_pitch_test | ||
| textord_debug_pitch_metric | ||
| textord_show_row_cuts | ||
| textord_show_page_cuts | ||
| textord_pitch_cheat | ||
| textord_blockndoc_sabit | ||
| textord_göster_başlangıç_kelimeri | ||
| textord_göster_yeni_kelimeri | ||
| textord_göster_sabit_kelimeri | ||
| textord_blocksall_sabit | ||
| textord_blocksall_prop | ||
| textord_blocksall_test | ||
| textord_test_modu | ||
| textord_pitch_satırsimilarlığı | ||
| kelimeler_haftalık_küçültmek | ||
| kelimeler_haftalık_büyütmek | ||
| kelimeler_varsayılan_prop_boşluksuz | ||
| kelimeler_varsayılan_sabit_boşluk | ||
| kelimeler_varsayılan_sabit_limit | ||
| textord_kelimeler_kesin_yayılım | ||
| textord_boyut_oran_fp | ||
| textord_boyut_oranı_prop | ||
| textord_fpiqr_oranı | ||
| textord_max_pitch_iqr | ||
| textord_fp_min_gan | ||
| textord_altçizgi_ofset | ||
| ambigs_hata_ayolama_seviyesi | ||
| siniflandir_hata_ayolama_seviyesi | ||
| sınıflandırma_norm_yöntem | ||
| eşleştir_hata_ayolama_seviyesi | ||
| eşleştir_hata_ayolama_bayrakları | ||
| sınıflandırma_öğrenme_hata_ayolama_seviyesi | ||
| eşleştir_kalıcı_sınıflar_min | ||
| eşleştir_minörnekler_ prototipleme için | ||
| eşleştir_yeterli_ornekler_ prototipleme için | ||
| sınıflandırma_uyarlanabilir_proto_eşik | ||
| sınıflandırma_uyarlanabilir_özellik_eşik | ||
| sınıflandırma_sınıf_budayıcı_eşik | ||
| sınıflandırma_sınıf_budayıcı_çarpan | ||
| sınıflandırma_cp_kesme_gücü | ||
| sınıflandırma_tam_sayı_eşleştirici_çarpan | ||
| dawg_hata_ayolama_seviyesi | ||
| tire_hata_ayolama_seviyesi | ||
| durdurucu_küçük_kelime_boyutu | ||
| durdurucu_hata_ayolama_seviyesi | ||
| tessedit_kelime_seçimi_logunu_kısalt | ||
| maks_permutator_girişimleri | ||
| tamir_et_hatalı_parçalanmamış_karakterler | ||
| chop_hata_ayolama | ||
| chop_bölünme_uzunluğu | ||
| chop_aynı_uzaklık | ||
| chop_min_çevre_noktaları | ||
| chop_dikiş_yığın_boyu | ||
| chop_iç_açı | ||
| chop_min_çevre_alanı | ||
| chop_ortalanmış_maksimum genişlik | ||
| chop_x_y_ağırlık | ||
| wordrec_hata_ayolama_seviyesi | ||
| wordrec_max_birleşim_küçükleri | ||
| segsearch_hata_ayolama_seviyesi | ||
| segsearch_max_acı_puanları | ||
| segsearch_max_futile_classifications | ||
| dil_modeli_hata_ayolama_seviyesi | ||
| dil_modeli_ngram_sırası | ||
| dil_modeli_viterbi_listesi_ maksimum_budanan_sayı | ||
| dil_modeli_viterbi_listesi_max_boy | ||
| dil_modeli_min_bileşik_uzunluk | ||
| wordrec_segmentasyonları_göster | ||
| tessedit_pageseg_modu | ||
| tessedit_ocr_motor_modu | ||
| pageseg_devanagari_bölme_stratejisi | ||
| ocr_devanagari_bölme_stratejisi | ||
| iki_tön_hata_ayolama | ||
| uygulamak_ilki_hata_ayolama | ||
| uygulamak_ilki_sayfa | ||
| tessedit_ikili_hata_ayolama | ||
| hata_ayolama_gürültü_çıkarma | ||
| gürültü_maxperblob | ||
| gürültü_maxperword | ||
| hata_ayolama_x_ht_seviyesi | ||
| kalite_min_başlangıç_alfabeler_gerekiyor | ||
| tessedit_tess_uyarlama_modu | ||
| çoklu_dil_hata_ayolama_seviyesi | ||
| paragraf_hata_ayolama_seviyesi | ||
| tessedit_min_wd_len_korur | ||
| crunch_ortalama_max | ||
| crunch_saklamak_göstergeleri | ||
| crunch_küçük_harf_strikleri_bırak | ||
| crunch_büyük_harf_strikleri_bırak | ||
| Büyük harf dizgilerini sıkıştırma | ||
| crunch_debug | ||
| fixsp_olmayan_gürültü_limit | ||
| fixsp_yapılmış_modu | ||
| hata_ayolama_fix_space_seviyesi | ||
| x_ht_kabul_toleransı | ||
| x_ht_min_değişiklik | ||
| üstü_hata_ayolama | ||
| jpg_kalite | ||
| kullanıcı_tanımlı_dpi | ||
| denemeye_küçük_karakterler_min | ||
| suspect_level | ||
| suspect_short_words | ||
| tessedit_reject_modu | ||
| tessedit_resim_kenar | ||
| min_makul_x_ht_piksel | ||
| tessedit_sayfa_numarası | ||
| tessedit_parallelize | ||
| lstm_seçim_modu | ||
| lstm_seçim_iterations | ||
| tosp_hata_ayolama_seviyesi | ||
| tosp_enough_space_samples_for_median | ||
| tosp_redo_kern_limit | ||
| tosp_few_samples | ||
| tosp_short_row | ||
| tosp_sanity_method | ||
| textord_max_noise_size | ||
| textord_baseline_debug | ||
| textord_noise_sizefraction | ||
| textord_noise_translimit | ||
| textord_noise_sncount | ||
| use_ambigs_for_adaption | ||
| öncelikli_bölme | ||
| sınıflandırmayı_öğrenmeyi_etkinleştir | ||
| tess_cn_eşleşmesi | ||
| tess_bn_eşleşmesi | ||
| sınıflandırmayı_adaptive_eşleşmeyle_etkinleştir | ||
| önceden_adapte_edilmiş_şablonlar_kullan | ||
| adapte_edilmiş_şablonları_kaydet | ||
| adaptif_hata_ayıklayıcıyı_etkinleştir | ||
| sınıflandırmayı_doğrusal_olmayan_norm_etkinleştir | ||
| disable_character_fragments | ||
| sınıflandırma_karakter_parçalarını_hata_tespitle_debug_kullan | ||
| eşleştirici_hata_ayıklama_ayrı_pencereler | ||
| sayı_modlu_sınınfılandırma_bln | ||
| sistem_dawg_yükle | ||
| frekans_dawg_yükle | ||
| açık_çözüm_dawg_yükle | ||
| nokta_dawg_yükle | ||
| sayı_dawg_yükle | ||
| ikili_dawg_yükle | ||
| yalnızca_ilk_uft8_adımını_kullan | ||
| durdurucu_kabul_edilebilir_seçenekler_yok | ||
| alfabetik_olmayan_senaryo_segmenti | ||
| belge_kelimesini_kaydet | ||
| matrikste_parçaları_birleştir | ||
| wordrec_birliği_etkinleştir | ||
| kelime_birliği_zorunlu | ||
| kırma_etkinleştir | ||
| kesme_dikey_yavaş_ilerleme | ||
| kesme_yeni_dikiş_yığını | ||
| sabit_adım_karakter_segmenti_varsay | ||
| wordrec_doğru_sözcükleri_olmayan_atla | ||
| wordrec_blamer_debug_kullan | ||
| wordrec_blamer_çalıştır | ||
| kaydet_alt_secimleri | ||
| language_model_ngram_on | ||
| language_model_ngram_use_
only_first_uft8_step | ||
| language_model_ngram_space_ delimited_language | ||
| dil_modeli_sigmoidal_kesinliği_kullan | ||
| tessedit_kutuyla_yeniden_segment | ||
| tessedit_satır_kutuları_ile_yeniden_segment | ||
| tessedit_kutularla_eğit | ||
| tessedit_kutularla_kutular_yap | ||
| tessedit_satır_tanıma_eğit | ||
| tessedit_sayfa_bölme_görüntülerini_dök | ||
| tessedit_tersine_çevir | ||
| tessedit_çift_anlam_hataları_eğitimi | ||
| tessedit_adapte_şablon_debug | ||
| kutu_uygula_karakter_ve_parçalarını_öğren_modu | ||
| kutu_uygula_ngrams_modu_öğren | ||
| tessedit_çıktı_sözcükleri_görüntüle | ||
| tessedit_seçimleri_dök | ||
| tessedit_zamanlama_debug | ||
| tessedit_belirsizlikli_boşlukları_düzelt | ||
| tessedit_herhangi_düşürülmüş_sözcüğü_kabul_et_tek | ||
| tessedit_tireleri_düzelt | ||
| tessedit_belge_sözlüğünü_etkinleştir | ||
| tessedit_font_hatalarını_debug_kullan | ||
| tessedit_blok_reddetmesini_debug_kullan | ||
| tessedit_ikili_kelime_düzeltmektedir_etkinleştir | ||
| tessedit_sözlük_düzeltmesini_etkinleştir | ||
| gürültü_giderme_etkinleştir | ||
| tessedit_asgari_rdd_pas1 | ||
| tessedit_adapteyi_test_et | ||
| test_et | ||
| paragraf_metni_tabanli | ||
| lstm_kullan_matrisi | ||
| tessedit_iyi_kalite_basarisizliklari | ||
| tessedit_alanlari_reddet_kullan | ||
| tessedit_preserve_blk_rej_perfect_wds | ||
| tessedit_preserve_row_rej_perfect_wds | ||
| tessedit_dont_blkrej_good_wds | ||
| tessedit_dont_rowrej_good_wds | ||
| tessedit_row_rej_good_docs | ||
| tessedit_reject_bad_qual_wds | ||
| tessedit_debug_doc_rejection | ||
| tessedit_debug_quality_metrics | ||
| bland_unrej | ||
| unlv_tilde_crunching | ||
| hocr_font_bilgisi | ||
| hocr_karakter_kutuları | ||
| tess_erken_birleştirme_hataları_kes | ||
| kötü_unlv_chs_çevrimini_katıl | ||
| korkunç_çöp_tess_katıl | ||
| iyi_dizeler_öğütmek | ||
| crunch_accept_ok | ||
| crunch_leave_accept_strings | ||
| crunch_include_numerals | ||
| tessedit_prefer_joined_punct | ||
| tessedit_write_block_separators | ||
| tessedit_write_rep_codes | ||
| tessedit_write_unlv | ||
| tessedit_create_txt | ||
| tessedit_create_hocr | ||
| tessedit_create_alto | ||
| tessedit_create_lstmbox | ||
| tessedit_create_tsv | ||
| tessedit_create_wordstrbox | ||
| tessedit_create_pdf | ||
| textonly_pdf | ||
| suspect_constrain_1Il | ||
| tessedit_minimal_rejection | ||
| tessedit_zero_rejection | ||
| tessedit_word_for_word | ||
| tessedit_zero_kelvin_rejection | ||
| tessedit_rejection_debug | ||
| tessedit_flip_0O | ||
| rej_trust_doc_dawg | ||
| rej_1Il_sözlük_kelime_kullan | ||
| rej_1Il_trust_permuter_type | ||
| tes_ad_opts_kullan | ||
| tes_boşlukaları_kullan | ||
| rej_iyi_perm_kullan | ||
| anlamlı_sözcük_kullan | ||
| rej_sayı_perminde_alfalar | ||
| tessedit_kutuyla_dosyası_oluştur | ||
| tessedit_resimleri_yaz | ||
| etkileşimli_görüntü_modu | ||
| tessedit_permuteri_override | ||
| tessedit_uyumlu_para_modelinc_kullan | ||
| textord_tabfind_vlines_göster | ||
| textord_cjk_fp_modelini_kullan | ||
| poly_detailed_fx_izin_kullan | ||
| tessedit_yalnızca_config_init | ||
| textord_denklem_algıla | ||
| textord_tabfind_dikey_metin | ||
| textord_tabfind_zorunlu_dikey_metin | ||
| kelime_arası_boşlukları_koru | ||
| sayfa_segment_apply_müzik_maskesi | ||
| textord_tek_yükseklik_modu | ||
| tosp_eski_yöntem | ||
| tosp_old_to_constrain_sp_kn | ||
| tosp_only_use_prop_rows | ||
| tosp_force_wordbreak_on_punct | ||
| tosp_use_pre_chopping | ||
| tosp_old_to_bug_fix | ||
| tosp_block_use_cert_spaces | ||
| tosp_row_use_cert_spaces | ||
| tosp_narrow_blobs_not_cert | ||
| tosp_row_use_cert_spaces1 | ||
| tosp_recovery_isolated_row_stats | ||
| tosp_only_small_gaps_for_kern | ||
| tosp_all_flips_fuzzy | ||
| tosp_fuzzy_limit_all | ||
| textord_no_rejects | ||
| textord_show_blobs | ||
| textord_show_boxes | ||
| textord_noise_rejwords | ||
| textord_noise_rejrows | ||
| textord_noise_debug | ||
| classify_learn_debug_str | ||
| user_words_file | ||
| user_words_suffix | ||
| user_patterns_file | ||
| user_patterns_suffix | ||
| output_ambig_words_file | ||
| word_to_debug | ||
| tessedit_char_blacklist | ||
| tessedit_char_whitelist | ||
| tessedit_char_unblacklist | ||
| tessedit_write_params_to_file | ||
| applybox_exposure_pattern | ||
| chs_leading_punct('`" | ||
| chs_trailing_punct1 | ||
| chs_trailing_punct2)'`" | ||
| outlines_odd | %| | Standart dışı kontur sayısı |
| outlines_2ij!?%":; | Standart dışı kontur sayısı | |
| numeric_punctuation | ., | Punct. chs expected WITHIN numbers |
| unrecognised_char | | | Output char for unidentified blobs |
| ok_repeated_ch_non_alphanum_wds | -?*= | Allow NN to unrej |
| conflict_set_I_l_1 | Il1 [] | Il1 conflict set |
| file_type | .tif | Filename extension |
| tessedit_load_sublangs | ||
| page_separator | ||
| classify_char_norm_range | ||
| classify_max_rating_ratio | ||
| classify_max_certainty_margin | ||
| matcher_good_threshold | ||
| matcher_reliable_adaptive_result | ||
| matcher_perfect_threshold | ||
| matcher_bad_match_pad | ||
| matcher_rating_margin | ||
| matcher_avg_noise_size | ||
| matcher_clustering_max_angle_delta | ||
| classify_misfit_junk_penalty | ||
| rating_scale | ||
| certainty_scale | ||
| tessedit_class_miss_scale | ||
| classify_adapted_pruning_factor | ||
| classify_adapted_pruning_threshold | ||
| classify_character_fragments_ çöp kesinlik eşiği | ||
| speckle_large_max_size | ||
| speckle_rating_penalty | ||
| xheight_penalty_subscripts | ||
| xheight_penalty_inconsistent | ||
| segment_penalty_dict_frequent_word | ||
| segment_penalty_dict_case_ok | ||
| segment_penalty_dict_case_bad | ||
| segment_penalty_dict_nonword | ||
| certainty_scale | ||
| stopper_nondict_certainty_base | ||
| stopper_phase2_certainty_rejection_offset | ||
| stopper_certainty_per_char | ||
| stopper_allowable_character_badness | ||
| doc_dict_pending_threshold | ||
| doc_dict_certainty_threshold | ||
| tessedit_certainty_threshold | ||
| chop_split_dist_knob | ||
| chop_overlap_knob | ||
| chop_center_knob | ||
| chop_sharpness_knob | ||
| chop_width_change_knob | ||
| chop_ok_split | ||
| chop_good_split | ||
| segsearch_max_char_wh_ratio |
En iyi sonuçlar için, OCR uygulamadan önce IronOCR'un görüntü ön işleme filtreleri kullanılması önerilir. Bu filtreler, özellikle düşük kalite taramalar veya tablolar gibi karmaşık belgelerle çalışırken doğruluğu önemli ölçüde artırabilir.
Sıkça Sorulan Sorular
C#'da OCR için IronTesseract nasıl yapılandırılır?
IronTesseract'i yapılandırmak için bir IronTesseract örneği oluşturun ve Dil ve Konfigürasyon gibi özellikleri ayarlayın. OCR dilini belirtebilirsiniz (125 desteklenen dilden), barkod okuma etkinleştirilebilir, aranabilir PDF çıktı konfigüre edilebilir ve karakter beyaz listeye alınabilir. Örneğin: var tesseract = new IronOcr.IronTesseract { Language = IronOcr.OcrLanguage.English, Configuration = new IronOcr.TesseractConfiguration { ReadBarCodes = false, RenderSearchablePdf = true } };
IronTesseract hangi girdi formatlarını destekler?
IronTesseract, OcrInput sınıfı aracılığıyla çeşitli giriş formatlarını kabul eder. Görüntüleri (PNG, JPG, vb.), PDF dosyalarını ve taranmış belgeleri işleyebilirsiniz. OcrInput sınıfı, bu farklı formatların yüklenmesi için esnek yöntemler sunar, böylece metin içeren hemen her belge üzerinde OCR işlemi yapmayı kolaylaştırır.
IronTesseract ile metin yanında barkodları okuyabilir miyim?
Evet, IronTesseract gelişmiş barkod okuma yeteneklerini içerir. TesseractConfiguration'da ReadBarCodes = true ayarlayarak barkod algılamayı etkinleştirebilirsiniz. Bu, aynı belgeden hem metin hem de barkod verilerini çıkarmanıza olanak tanır.
Taranmış belgelerden aranabilir PDF'leri nasıl oluşturabilirim?
IronTesseract, TesseractConfiguration'da RenderSearchablePdf = true ayarlanarak taranmış belgeleri ve görüntüleri aranabilir PDF'lere dönüştürebilir. Bu, metnin seçilebilir ve aranabilir olduğu, ancak orijinal belge görünümünü koruyan PDF dosyaları oluşturur.
IronTesseract, OCR için hangi dilleri destekler?
IronTesseract, metin tanıma için 125 uluslararası dili destekler. Dili, IronTesseract örneğinizdeki Dil özelliğini ayarlayarak belirtebilirsiniz, örneğin IronOcr.OcrLanguage.English, İspanyolca, Çince, Arapça ve daha birçokları.
OCR sırasında hangi karakterlerin tanındığını kısıtlayabilir miyim?
Evet, IronTesseract, TesseractConfiguration'daki WhiteListCharacters özelliği aracılığıyla karakterleri beyaz/siyah listeye almanıza olanak tanır. Bu özellik, beklenen karakter kümesini bildiğinizde, örneğin tanımayı yalnızca alfanümerik karakterlerle sınırlamak gibi, doğruluğu artırmaya yardımcı olur.
Birden fazla belgede eşzamanlı OCR işlemini nasıl yaparım?
IronTesseract, toplu işleme için çoklu iş parçalama yeteneklerini destekler. Büyük miktarda görüntü veya PDF ile çalışırken performansı önemli ölçüde artıran eşzamanlı olarak birçok belgede eşzamanlı OCR yapmasını sağlamak için paralel işlemeyi kullanabilirsiniz.
IronOCR hangi Tesseract sürümünü kullanıyor?
IronOCR, Iron Tesseract olarak bilinen, Tesseract 5'in özelleştirilmiş ve optimize edilmiş bir sürümünü kullanır. Bu gelişmiş motor, standart Tesseract uygulamalarına kıyasla geliştirilmiş doğruluk ve performans sağlar ve .NET uygulamaları ile uyumluluğu sürdürür.

