IronOCR ile El Yazısı Görüntüler Nasıl Okunur

This article was translated from English: Does it need improvement?
Translated
View the article in English

IronOCR, resimlerden el yazısıyla yazılmış metni güvenilir bir şekilde dijitalleştiren, düzensiz aralıklar ve çizgi varyasyonlarının içsel zorluklarına rağmen İngilizce el yazısı için yaklaşık %90 doğruluk sağlayan özel bir ReadHandwriting yöntemi sunar.

Hızlı Başlangıç: IronOCR ile El Yazısı Görüntüler Okuyun

  1. IronOCR ve IronOcr.Extensions.AdvancedScan paketini kurun
  2. Bir IronTesseract örneği oluşturun
  3. El yazısı resminizi LoadImage() kullanarak yükleyin
  4. ReadHandwriting() yöntemini çağırın
  5. Çıkartılan metni OcrResult'den erişin
  1. NuGet Paket Yöneticisi ile https://www.nuget.org/packages/IronOcr yükleyin

    PM > Install-Package IronOcr
  2. Bu kod parçasını kopyalayıp çalıştırın.

    using IronOcr;
    
    var ocrTesseract = new IronTesseract();
    using var ocrInput = new OcrInput();
    ocrInput.LoadImage("handwriting.png");
    var ocrResult = ocrTesseract.ReadHandwriting(ocrInput);
    Console.WriteLine(ocrResult.Text);
  3. Canlı ortamınızda test etmek için dağıtın

    Bugün projenizde IronOCR kullanmaya başlayın ücretsiz deneme ile

    arrow pointer

Görüntülerden el yazısı metni otomatik olarak okumak son derece zordur çünkü herkes farklı yazar. Bu büyük tutarsızlık, OCR işlemini zorlaştırır. Eski kayıtlar, hasta alım formları ve müşteri anketleri gibi önemli belgeler hala manuel işleme gerektirir, bu da veri bütünlüğünü tehlikeye atan hata dolu iş akışlarına yol açar.

IronOCR, el yazısı görüntülerini güvenilir bir şekilde anlama ve dijitalleştirme için özel bir yöntem sunarak bu sorunu çözer. Güçlü Tesseract 5 motoru üzerine inşa edilen IronOCR, endüstri lideri el yazısı tanıma yetenekleri sunmak için ileri görüntü işleme ve makine öğrenimini bir araya getirir.

Bu rehber, el yazısı OCR'yi .NET uygulamalarınıza adım adım entegre etme sürecini anlatır. İster tarihsel belgeleri dijitalleştiriyor, ister tıbbi formları işliyor, ister el yazısı notları dönüştürüyor olun, IronOCR ile güvenilir sonuçlar elde etmenin yollarını öğreneceksiniz.

IronOCR Ile Başlayin


Bu işlevi kullanmak için önce IronOcr.Extensions.AdvancedScan paketini kurmanız gerekmektedir. Lütfen ReadHandwriting yönteminin şu anda yalnızca İngilizceyi desteklediğini unutmayın. Birçok dil için OCR işlemi için uygun dil paketleriyle standart Read() yöntemini kullanın.

El Yazısı Görüntüleri IronOCR ile Nasıl Okurum?

IronOCR ile el yazısı görüntüsü okumak basittir. Önce OCR motorunu başlatın, ardından resmi LoadImage ile yükleyin ve son olarak el yazısı tanıma için tasarlanmış özel ReadHandwriting yöntemini kullanın. Doğruluğunu ve içeriğini doğrulamak için çıkarılan metni yazdırın.

İşleme başlamadan önce, okunabilirliği artırmak için görüntü kalitesi düzeltme filtrelerini uygulamayı düşünün. Bu filtreler, özellikle zayıf kontrast veya çözünürlüğe sahip taranmış belgelerde tanıma doğruluğunu önemli ölçüde artırabilir.

Hangi Giriş Formatını Kullanmalıyım?

El yazısı giriş görüntüsü OCR işlemi için bağlantılı metni gösteriyor
:path=/static-assets/ocr/content-code-examples/how-to/read-handwritten-image.cs
using IronOcr;
using System;

// Instantiate OCR engine
var ocr = new IronTesseract();

// Load handwriting image
var inputHandWriting = new OcrInput();
inputHandWriting.LoadImage("handwritten.png");

// Perform OCR on the handwriting image
OcrHandwritingResult result = ocr.ReadHandwriting(inputHandWriting);

// Output the recognized handwritten text
Console.WriteLine(result.Text);
// Output the confidence score of the OCR result
Console.WriteLine(result.Confidence);
Imports IronOcr
Imports System

' Instantiate OCR engine
Dim ocr As New IronTesseract()

' Load handwriting image
Dim inputHandWriting As New OcrInput()
inputHandWriting.LoadImage("handwritten.png")

' Perform OCR on the handwriting image
Dim result As OcrHandwritingResult = ocr.ReadHandwriting(inputHandWriting)

' Output the recognized handwritten text
Console.WriteLine(result.Text)
' Output the confidence score of the OCR result
Console.WriteLine(result.Confidence)
$vbLabelText   $csharpLabel

Ne Tür Sonuçlar Bekleyebilirim?

Çıkarılan el yazısı metni güven skoruyla gösteren OCR çıktı sonuçları

ReadHandwriting yöntemi, açılış cümlesi "Benim adım Erin Fish." dahil çoğu metni doğru bir şekilde tanımlayarak %90,6 güven puanı elde etti.

Bu güçlü sonuç, IronOCR'un zorlayıcı el yazısı metni ile başa çıkma yeteneğini göstermektedir. Motor, aralıklar ve bağlantılı harflerle mücadele ederken, temel mesajı başarıyla çıkardı. Bu, IronOCR'un karmaşık, standart dışı metinleri etkili bir şekilde işleyebildiğini gösteriyor.

OCR'ye yeni başlayanlar için, el yazısı tanıma üzerine geçmeden önce temelleri anlamak için basit OCR eğitimimizi ile başlayın.

Asenkron Sürümü Nasıl Kullanırım?

IronOCR, eşzamansız bir versiyonu destekler: ReadHandwritingAsync. Bu, işlemden önce giriş görüntülerinin alınmasını gerektiren asenkron kodla çalışırken faydalıdır. Asenkron destek belgeleri, asenkron OCR işlemlerini uygulamak için kapsamlı rehber sunmaktadır.

Aynı verileri kullanarak, işte asenkron yöntemi nasıl kullanacağınız:

:path=/static-assets/ocr/content-code-examples/how-to/read-handwritten-image-async.cs
using IronOcr;
using System;
using System.Threading.Tasks;

using System;
using System.Threading.Tasks;
#endregion

public class read_handwritten_image_async
{
    public async Task codeAsync()
    {
        // Instantiate OCR engine
        var ocr = new IronTesseract();

        // Load handwriting image
        var inputHandWriting = new OcrInput();
        inputHandWriting.LoadImage("handwritten.png");

        // Perform OCR using the async method with 'await'.
        // The compiler automatically infers this top-level code block as an 'async Task Main()' method.
        OcrHandwritingResult result = await ocr.ReadHandwritingAsync(inputHandWriting);

        // Output the recognized handwriting text
        Console.WriteLine(result.Text);
        // Output the confidence score of the OCR result
        Console.WriteLine(result.Confidence);
    
Imports IronOcr
Imports System
Imports System.Threading.Tasks

Public Class ReadHandwrittenImageAsync
    Public Async Function CodeAsync() As Task
        ' Instantiate OCR engine
        Dim ocr As New IronTesseract()

        ' Load handwriting image
        Dim inputHandWriting As New OcrInput()
        inputHandWriting.LoadImage("handwritten.png")

        ' Perform OCR using the async method with 'Await'.
        ' The compiler automatically infers this top-level code block as an 'async Task Main()' method.
        Dim result As OcrHandwritingResult = Await ocr.ReadHandwritingAsync(inputHandWriting)

        ' Output the recognized handwriting text
        Console.WriteLine(result.Text)
        ' Output the confidence score of the OCR result
        Console.WriteLine(result.Confidence)
    End Function
End Class
$vbLabelText   $csharpLabel

Otomatik iptale kadar geçen süreyi milisaniye olarak belirlemek için isteğe bağlı bir timeoutMs parametresi sağlayabilirsiniz. Varsayılan değer -1 olup, bu da zaman sınırı olmadığı anlamına gelir — işlem tamamlanana kadar çalışır.

Gelişmiş İşleme Teknikleri

Karmaşık el yazısı tanıma senaryoları için bu gelişmiş teknikleri değerlendirin:

Bölgeye Özel OCR: Formlar veya yapılandırılmış belgelerle çalışırken, el yazısı metin içeren belirli alanlara odaklanmak için bölgeye dayalı OCR kullanın. Bu yaklaşım, işlem alanını sınırlayarak doğruluğu artırır:

using IronOcr;
using IronSoftware.Drawing;

var ocrTesseract = new IronTesseract();
using var ocrInput = new OcrInput();

// Define a specific region for signature area
var signatureRegion = new CropRectangle(x: 100, y: 500, width: 300, height: 100);
ocrInput.LoadImage("form-with-signature.png", signatureRegion);

var signatureResult = ocrTesseract.ReadHandwriting(ocrInput);
Console.WriteLine($"Signature text: {signatureResult.Text}");
using IronOcr;
using IronSoftware.Drawing;

var ocrTesseract = new IronTesseract();
using var ocrInput = new OcrInput();

// Define a specific region for signature area
var signatureRegion = new CropRectangle(x: 100, y: 500, width: 300, height: 100);
ocrInput.LoadImage("form-with-signature.png", signatureRegion);

var signatureResult = ocrTesseract.ReadHandwriting(ocrInput);
Console.WriteLine($"Signature text: {signatureResult.Text}");
Imports IronOcr
Imports IronSoftware.Drawing

Dim ocrTesseract As New IronTesseract()
Using ocrInput As New OcrInput()

    ' Define a specific region for signature area
    Dim signatureRegion As New CropRectangle(x:=100, y:=500, width:=300, height:=100)
    ocrInput.LoadImage("form-with-signature.png", signatureRegion)

    Dim signatureResult = ocrTesseract.ReadHandwriting(ocrInput)
    Console.WriteLine($"Signature text: {signatureResult.Text}")

End Using
$vbLabelText   $csharpLabel

İlerleme Takibi: Birden fazla el yazısı belgenin toplu olarak işlenmesinde, OCR işlemini izlemek için ilerleme takibi uygulayın:

ocrTesseract.OcrProgress += (sender, e) => 
{
    Console.WriteLine($"Processing: {e.ProgressPercent}% complete");
};
ocrTesseract.OcrProgress += (sender, e) => 
{
    Console.WriteLine($"Processing: {e.ProgressPercent}% complete");
};
ocrTesseract.OcrProgress += Sub(sender, e)
    Console.WriteLine($"Processing: {e.ProgressPercent}% complete")
End Sub
$vbLabelText   $csharpLabel

Hangi Zorlukların Farkında Olmalıyım?

IronOCR tüm yapıyı ve metni koruyarak yüksek güvene erişse de, el yazısı ile ilgili zorlukları hala mevcuttur. Yaygın zorluklar, çıkarılan çıktının doğruluğunu gerektirir:

Düzensiz Aralıklar: Baskı metinlerinin harfler arasında düzgün aralıkları vardır. El yazısında, vuruş ve harf bağlantılarının araları büyük ölçüde değişir. ununiformed, tek bir kelime yerine bireysel karakterlere (u n u n i f o c m e d) bölündüğünde gösterildiği gibi, yanlış karakter bölünmesine neden olur.

Vuruş Varyasyonu: Her kişi benzersiz bir el yazısına sahiptir ve aynı harfi her defasında farklı yazar. Harf bağlantıları ve desenleri de büyük ölçüde değişir. Bu, motorun vuruş eğimi, basınç ve formdaki yüksek değişkenliği idare etmesi gerektiğinden tek-tip bir model oluşturmayı önler, bu da standartlaştırılmış yazı tiplerine kıyasla desen eşleştirmeyi daha az güvenilir yapar.

Belirsiz Karakter Şekilleri: El yazısı genellikle basitleştirilmiş veya hızlıca çizilmiş çizgiler kullanır, bu da belirsiz şekiller oluşturur. Hızlıca yazılmış bir e, bir c'e benzer veya bağlı l ve i yanlış tanımlanabilir.

Kalite ve Çözünürlük Sorunları: Düşük tarama kalitesi, düşük çözünürlük veya solmuş mürekkep, tanıma doğruluğunu önemli ölçüde etkiler. Böyle sorunlarla karşılaşıldığında, çözümler için genel sorun giderme rehberimize bakın.

Bu yöntemi kullanırken, özellikle sıkı boşluklu veya zayıf biçimlendirilmiş kelimelere dikkat ederek çıktının, istenen girdiye uygun olup olmadığını doğrulayın. Kendi kullanım durumunuza özgü yaygın yanlış tanımalarla başa çıkmak için son işleme mantığını uygulamayı düşünün.

Uyarı ReadHandwriting yöntemi, eğik yazı söz konusu olduğunda yalnızca düşük doğruluklu OCR çıkarımı elde edebilir.

Sıkça Sorulan Sorular

Görsellerden el yazisi ayikladigimda hangi doğrulugu bekleyebilirim?

IronOCR'un ReadHandwriting metodu, el yazisi OCR'u özellikle zor hale getiren duzensiz aralik ve vurus varyasyonlarina ragmen, Ingilizce el yazisı tanimasi için yaklasik %90 doğruluk saglar.

Hangi diller el yazisi tanima için destekleniyor?

IronOCR'daki ReadHandwriting metodu şu anda sadece Ingilizce'yi destekler. Çoklu diller için OCR kullanmak için, özel el yazisi metoda yerine uygun dil paketleriyle birlikte standart Read() metodunu kullanmaniz gerekecek.

El yazisi OCR için hangi ek paketi yuklemem gerekir?

IronOCR'daki el yazisi tanima işlevselliğini kullanmak için, ana IronOCR kütüphanesine ek olarak IronOcr.Extensions.AdvancedScan paketini kurmak zorundasiniz.

C#'ta temel el yazisi tanima nasıl uygulanır?

Bir IronTesseract örneği oluşturun, el yazısı görselinizi LoadImage() kullanarak yukleyin, ReadHandwriting() metodunu cagir ve OcrResult'tan çıkarilan metne ulasin. IronOCR, karmasik görsel işleme ve makine ögrenimini otomatik olarak ele alir.

Ne tur el yazisi belgeleri islenebilir?

IronOCR, tarihi kayitlar, hasta kabul formlari, müşteri anketleri ve el yazisi notlar gibi çeşitli el yazisi belgelerini isleyebilir. Kütüphane, manuel işlemenin hataya açık hale getiren insan el yazisindaki tutarsizlikları ele almak için tasarlanmistir.

El yazisi tanima yeteneklerine hangi teknoloji guc veriyor?

IronOCR'un el yazisi tanima, endustri lideri el yazisi tanima yetenekleri sunmak için gelişmiş görsel işleme ve makine öğrenimi algoritmalarini birlestiren güçlü Tesseract 5 motoru uzerine insa edilmistir.

Curtis Chau
Teknik Yazar

Curtis Chau, Bilgisayar Bilimleri alanında lisans derecesine sahiptir (Carleton Üniversitesi) ve Node.js, TypeScript, JavaScript ve React konularında uzmanlaşmış ön uç geliştirme üzerine uzmanlaşmıştır. Kullanıcı dostu ve estetik açıdan hoş arayüzler tasarlamaya tutkuyla bağlı olan Curtis, modern çerç...

Daha Fazlasını Oku
Başlamaya Hazır mısınız?
Nuget İndirmeler 5,585,834 | Sürüm: 2026.4 just released
Still Scrolling Icon

Hala Kaydiriyor musunuz?

Hızlı bir kanit mi istiyorsunuz? PM > Install-Package IronOcr
örnekleri çalıştır resminizin aranabilir metne donuşünü izleyin.