Konuyu Açan
#0
Tesseract OCR Rehberi
OCR teknolojisi, yani Optik Karakter Tanıma, dijital dünyada fiziksel belgelerle aramızdaki köprüyü kuran, adeta sihirli bir dokunuş gibi. Özellikle tarayıcılardan, kameralardan veya PDF'lerden gelen görüntü tabanlı metinleri düzenlenebilir, aranabilir ve işlenebilir verilere dönüştürme ihtiyacı duyduğumuzda Tesseract gibi araçlar hayat kurtarıcı olabiliyor. Peki, bu güçlü aracı en verimli şekilde nasıl kullanırız, potansiyelini nasıl açığa çıkarırız? İşte bugün bu konuya derinlemesine dalacağız.
Tesseract OCR, Google tarafından geliştirilmesi desteklenen, açık kaynaklı ve oldukça yetenekli bir OCR motoru. Başlangıçta HP tarafından 1980'lerde geliştirilmiş, 2005'te açık kaynak olarak yayınlanmış ve 2006'dan itibaren Google tarafından sponsorluk ve geliştirme desteği almış. Bu sayede sürekli güncellenen, geliştirilen ve dünya çapında geniş bir topluluk tarafından desteklenen bir araç haline geldi. Birçok dil desteği sunması, farklı çıktı formatlarına sahip olması ve esnek yapısıyla hem basit metin çıkarımında hem de karmaşık belge işleme projelerinde kendine yer buluyor.
Kurulum ve Temel Kullanım: İlk Adımlarınız
Tesseract'ı kullanmaya başlamak aslında hiç de zor değil. Çoğu işletim sistemi için hazır paketleri mevcut. Windows'ta direkt kurulum dosyasını indirip next, next diyerek kolayca kurabilirsiniz. Linux tarafında ise genellikle dağıtımınızın paket yöneticisi üzerinden tek bir komutla hallediliyor. Örneğin, Ubuntu'da komutunu kullanmak yeterli. macOS için de Homebrew üzerinden ile saniyeler içinde kurulumu tamamlayabiliyorsunuz. Kurulum sonrası terminal veya komut istemcisinden yazarak çalışıp çalışmadığını kontrol etmek iyi bir alışkanlıktır.
Temel kullanımına gelecek olursak, Tesseract'ın komut satırı arayüzü oldukça basittir:. Diyelim ki belge.png adında bir görseliniz var ve içindeki Türkçe metni cikti.txt dosyasına kaydetmek istiyorsunuz. Komutunuz şu şekilde olacak: . Buradaki -l tur ifadesi, Tesseract'a metni Türkçe olarak tanımasını söylüyor. Eğer İngilizce bir metin olsaydı -l eng yazacaktık. Birden fazla dil için -l tur+eng gibi bir kullanım da mümkün, bu sayede hem Türkçe hem de İngilizce karakter setlerini aynı anda kullanabiliyor. Unutmadan, Tesseract'ın varsayılan olarak sadece İngilizce dil paketiyle geldiğini belirtmekte fayda var. Diğer diller için ek dil paketlerini indirip kurmanız gerekiyor. Bunları Tesseract'ın GitHub sayfasından veya paket yöneticileri aracılığıyla kolayca bulabilirsiniz.
Daha Derinlere İnmek: Parametreler ve Konfigürasyon
Tesseract'ın gücü sadece basit metin çıkarımından ibaret değil; doğru parametrelerle ona ne yapacağını çok daha detaylı bir şekilde anlatabiliyoruz. Özellikle iki önemli parametre var ki, OCR başarınızı doğrudan etkiliyor: PSM (Page Segmentation Mode) ve OEM (OCR Engine Mode).
Bu parametreleri komut satırında şeklinde kullanabilirsiniz. Örneğin: .
Ayrıca, Tesseract'ın davranışını daha ince ayarlarla kontrol etmek için konfigürasyon dosyaları da kullanabilirsiniz. Bu dosyalar, Tesseract'a hangi karakterlerin tanınacağını (whitelist/blacklist), çıktı formatını veya özel değişkenleri belirleme gibi talimatlar verir. Kendi config dosyanızı oluşturup gibi komutlarla belirli karakter setlerini tanımlayabilirsiniz. Ya da bir dosya oluşturup içine bu ayarları yazıp şeklinde çağırabilirsiniz.
Görüntü Ön İşleme: Başarının Anahtarı
OCR'da çoğu zaman "çöp girdi, çöp çıktı" kuralı geçerlidir. Tesseract'ın en iyi sonuçları vermesi için ona mümkün olan en temiz ve net görüntüyü sunmak şart. İşte bu noktada görüntü ön işleme devreye giriyor. Doğru ön işleme teknikleri, doğruluk oranınızı %50'lerden %95'lere kadar çıkarabilir, inanamazsınız...
Bu ön işleme adımlarının çoğu için Python'da OpenCV veya Pillow gibi kütüphaneleri kullanmak çok yaygın bir yaklaşımdır. Örneğin, bir görüntüyü gri tonlamaya çevirmek ve ikili hale getirmek için basit bir Python kodu şöyle olabilir:
Bu tür adımlarla Tesseract'a sunduğunuz verinin kalitesi arttıkça, alacağınız sonuçlar da o denli iyileşecektir.
Diller ve Özel Eğitim Verileri
Tesseract'ın en güçlü yanlarından biri de geniş dil desteği. Yüzden fazla dil için önceden eğitilmiş modelleri (traineddata dosyaları) mevcut. İhtiyacınız olan dil paketini indirip Tesseract'ın 'tessdata' dizinine kopyalamanız yeterli. Bu paketler genellikle .traineddata uzantılı dosyalardır ve tessdata_fast veya tessdata_best depolarından indirilebilir. tessdata_best daha büyük ve daha doğru modeller içerirken, tessdata_fast daha küçük ve daha hızlıdır, ancak doğrulukta ufak tavizler verebilir.
Peki ya belirli bir yazı tipini, el yazısını veya çok özel bir karakter setini tanımanız gerekiyorsa? İşte burada Tesseract'ı kendi verilerinizle yeniden eğitme (fine-tuning) veya sıfırdan eğitim (training) devreye giriyor. Bu süreç biraz daha teknik ve zaman alıcı olsa da, özellikle niş alanlarda (eski el yazmaları, özel semboller içeren belgeler, bozuk fontlar vb.) inanılmaz fark yaratabilir. Kendi eğitim verilerinizi hazırlamak, metin ve karşılık gelen görüntü bölgelerini işaretlemek ve Tesseract'ın eğitim araçlarını kullanmak gerekiyor. Bu konuya burada çok detaylı girmeyeceğim çünkü başlı başına bir rehber konusu, ancak böyle bir imkanın olduğunu bilmek önemli. Unutmayın, ne kadar kaliteli eğitim verisi sağlarsanız, modeliniz o kadar akıllı olur.
Yaygın Sorunlar ve Çözümleri
Tesseract ile çalışırken karşılaşabileceğiniz bazı yaygın sorunlar ve bunlara yönelik çözüm önerileri şunlar olabilir:
Gerçek Dünya Senaryoları ve İpuçları
Tesseract'ı sadece komut satırından kullanmak zorunda değilsiniz. Çoğu zaman bir programlama dili aracılığıyla entegre edilir. Python için pytesseract kütüphanesi en popüler seçeneklerden biridir. Bu kütüphane, Tesseract'ın komut satırı arayüzünü Python kodunuzdan çağırmanıza olanak tanır ve böylece otomasyon, ön işleme ve çıktı yönetimi gibi işlemleri tek bir çatı altında toplayabilirsiniz.
İşte basit bir pytesseract örneği:
Bazı pratik ipuçları:
Unutmayın, her proje kendine özgü zorluklar barındırır. Tesseract bir sihirli değnek değil, ama doğru kullanıldığında elinizdeki en güçlü araçlardan biri haline gelebilir.
Son Söz ve Sizin Deneyimleriniz
Tesseract OCR, doğru yaklaşımla kullanıldığında görüntü tabanlı veriden anlamlı bilgi çıkarma potansiyeli sunan muazzam bir teknoloji. Kurulumundan gelişmiş parametrelerine, görüntü ön işleme tekniklerinden gerçek dünya uygulamalarına kadar birçok konuya değinmeye çalıştım. Amacım, bu güçlü aracı daha verimli kullanmanız için size bir yol haritası sunmaktı.
Peki, siz Tesseract OCR ile çalışırken ne gibi deneyimler yaşadınız? Karşılaştığınız en büyük zorluk neydi ve onu nasıl aştınız? Belki de sizin keşfettiğiniz, burada bahsetmediğim harika bir ipucu veya bir senaryo vardır... Yorumlarınızı ve deneyimlerinizi merakla bekliyorum. Hep birlikte öğrenmeye devam edelim!
OCR teknolojisi, yani Optik Karakter Tanıma, dijital dünyada fiziksel belgelerle aramızdaki köprüyü kuran, adeta sihirli bir dokunuş gibi. Özellikle tarayıcılardan, kameralardan veya PDF'lerden gelen görüntü tabanlı metinleri düzenlenebilir, aranabilir ve işlenebilir verilere dönüştürme ihtiyacı duyduğumuzda Tesseract gibi araçlar hayat kurtarıcı olabiliyor. Peki, bu güçlü aracı en verimli şekilde nasıl kullanırız, potansiyelini nasıl açığa çıkarırız? İşte bugün bu konuya derinlemesine dalacağız.
Tesseract OCR, Google tarafından geliştirilmesi desteklenen, açık kaynaklı ve oldukça yetenekli bir OCR motoru. Başlangıçta HP tarafından 1980'lerde geliştirilmiş, 2005'te açık kaynak olarak yayınlanmış ve 2006'dan itibaren Google tarafından sponsorluk ve geliştirme desteği almış. Bu sayede sürekli güncellenen, geliştirilen ve dünya çapında geniş bir topluluk tarafından desteklenen bir araç haline geldi. Birçok dil desteği sunması, farklı çıktı formatlarına sahip olması ve esnek yapısıyla hem basit metin çıkarımında hem de karmaşık belge işleme projelerinde kendine yer buluyor.
Kurulum ve Temel Kullanım: İlk Adımlarınız
Tesseract'ı kullanmaya başlamak aslında hiç de zor değil. Çoğu işletim sistemi için hazır paketleri mevcut. Windows'ta direkt kurulum dosyasını indirip next, next diyerek kolayca kurabilirsiniz. Linux tarafında ise genellikle dağıtımınızın paket yöneticisi üzerinden tek bir komutla hallediliyor. Örneğin, Ubuntu'da
CODE
1sudo apt install tesseract-ocrCODE
1brew install tesseractCODE
1tesseract --versionTemel kullanımına gelecek olursak, Tesseract'ın komut satırı arayüzü oldukça basittir:
CODE
1tesseract [resim_dosyası] [çıktı_dosyası] -l [dil]CODE
1tesseract belge.png cikti -l turDaha Derinlere İnmek: Parametreler ve Konfigürasyon
Tesseract'ın gücü sadece basit metin çıkarımından ibaret değil; doğru parametrelerle ona ne yapacağını çok daha detaylı bir şekilde anlatabiliyoruz. Özellikle iki önemli parametre var ki, OCR başarınızı doğrudan etkiliyor: PSM (Page Segmentation Mode) ve OEM (OCR Engine Mode).
- PSM (Page Segmentation Mode): Bu parametre, Tesseract'a görüntüyü nasıl segmentlere ayıracağını, yani metin bloklarını, paragrafları ve hatta tek tek karakterleri nasıl algılayacağını söyler. Tesseract'ın 0'dan 13'e kadar farklı PSM modları bulunuyor ve her biri belirli bir senaryo için optimize edilmiş durumda. Örneğin:
- PSM 3 (Varsayılan): Otomatik sayfa segmentasyonu, ancak tek bir sütun varsayılır. Çoğu belge için iyi bir başlangıç noktasıdır.
- PSM 6: Tek bir birleşik metin bloğu olarak varsayılan. Eğer görüntünüzde sadece tek bir paragraf veya metin kutusu varsa bu mod daha iyi sonuç verebilir.
- PSM 7: Tek bir metin satırı. Özellikle bir formdan veya bir karttan sadece bir satır metin okumak istediğinizde oldukça kullanışlıdır.
- PSM 10: Tek bir karakter. Çok özel durumlarda, örneğin belirli bir karakteri tanımak için kullanılabilir.
- PSM 3 (Varsayılan): Otomatik sayfa segmentasyonu, ancak tek bir sütun varsayılır. Çoğu belge için iyi bir başlangıç noktasıdır.
- OEM (OCR Engine Mode): Tesseract'ın kullanacağı OCR motorunu belirler. Tesseract 3'ten itibaren yeni "LSTM" tabanlı motor (neural network) ile eski "Legacy" motor bir arada çalışabiliyor.
- OEM 0: Legacy motor sadece.
- OEM 1: LSTM motor sadece. (Genellikle daha iyi sonuçlar verir.)
- OEM 2: Legacy ve LSTM motorları birlikte.
- OEM 3 (Varsayılan): Otomatik motor seçimi (hem Legacy hem de LSTM'i kullanmaya çalışır).
- OEM 0: Legacy motor sadece.
Bu parametreleri komut satırında
CODE
1-psm X -oem YCODE
1tesseract belge.png cikti -l tur --psm 6 --oem 1Ayrıca, Tesseract'ın davranışını daha ince ayarlarla kontrol etmek için konfigürasyon dosyaları da kullanabilirsiniz. Bu dosyalar, Tesseract'a hangi karakterlerin tanınacağını (whitelist/blacklist), çıktı formatını veya özel değişkenleri belirleme gibi talimatlar verir. Kendi config dosyanızı oluşturup
CODE
1-c tessedit_char_whitelist=ABCDEFGHIJKLMNOPQRSTUVWXYZCODE
1tesseract image.png output -l tur config_dosyamGörüntü Ön İşleme: Başarının Anahtarı
OCR'da çoğu zaman "çöp girdi, çöp çıktı" kuralı geçerlidir. Tesseract'ın en iyi sonuçları vermesi için ona mümkün olan en temiz ve net görüntüyü sunmak şart. İşte bu noktada görüntü ön işleme devreye giriyor. Doğru ön işleme teknikleri, doğruluk oranınızı %50'lerden %95'lere kadar çıkarabilir, inanamazsınız...
- Gri Tonlama (Grayscaling): Renkli bir görüntüyü işlemek yerine, onu gri tonlamaya dönüştürmek, Tesseract'ın metin ve arka planı ayırt etmesini kolaylaştırır. Renkli görüntülerde oluşabilecek karmaşıklığı ortadan kaldırır.
- İkili Hale Getirme (Binarization): Görüntüyü tamamen siyah ve beyaz piksellere dönüştürme işlemidir. Metin pikselleri genellikle siyah, arka plan pikselleri ise beyaz olur. Bu, kontrastı maksimuma çıkarır ve karakterlerin daha net görünmesini sağlar. Sabit bir eşik değeri kullanmak yerine, adaptif eşikleme (adaptive thresholding) gibi yöntemler, farklı ışıklandırma koşullarına sahip bölgelerde daha iyi sonuçlar verebilir. OpenCV gibi kütüphaneler bu konuda harikalar yaratır.
- Gürültü Giderme (Noise Reduction): Tarama sırasında oluşan küçük noktacıklar, lekeler veya "karıncalanma" Tesseract'ın kafasını karıştırabilir. Gaussian blur veya median filter gibi filtreler bu tür gürültüyü azaltmada etkilidir.
- Eğrilik Düzeltme (Deskewing): Belgenin tarayıcıya veya kameraya tam düz yerleştirilmemesi sonucu oluşan hafif açılı duruşlar, OCR motorunu zorlar. Görüntüyü otomatik olarak düzeltmek, karakterlerin doğru hizalanmasını sağlar ve tanıma oranını artırır.
- Çözünürlük (DPI - Dots Per Inch): Tesseract, genellikle en iyi performansı 300 DPI civarındaki görüntülerde verir. Çok düşük çözünürlüklü görüntülerde karakterler bulanık veya pikselli görünecek, çok yüksek çözünürlüklü görüntüler ise gereksiz yere işlem süresini uzatacaktır.
- Kenarlık Ekleme (Padding/Border): Bazen metin, görüntünün kenarlarına çok yakın olabilir. Bu durumda, metnin etrafına biraz boşluk eklemek, Tesseract'ın metin bloğunu daha iyi tanımasına yardımcı olabilir.
Bu ön işleme adımlarının çoğu için Python'da OpenCV veya Pillow gibi kütüphaneleri kullanmak çok yaygın bir yaklaşımdır. Örneğin, bir görüntüyü gri tonlamaya çevirmek ve ikili hale getirmek için basit bir Python kodu şöyle olabilir:
CODE
1234567891011121314151617181920212223
import cv2
import numpy as np
[b]Görüntüyü yükle[/b]
img = cv2.imread('belge.png')
[b]Gri tonlamaya çevir[/b]
gray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)
[b]Adaptif eşikleme uygula (Otsu yöntemi)[/b]
[b]thresh = cv2.threshold(gray, 0, 255, cv2.THRESH_BINARY + cv2.THRESH_OTSU)[1][/b]
[b]Adaptif Eşikleme (Gaussian veya Mean)[/b]
[b]blockSize: piksel komşuluğu boyutu, C: eşik değerinden çıkarılacak sabit[/b]
thresh = cv2.adaptiveThreshold(gray, 255, cv2.ADAPTIVE_THRESH_GAUSSIAN_C,
cv2.THRESH_BINARY, 11, 2)
[b]İşlenmiş görüntüyü kaydet veya göster[/b]
cv2.imwrite('islenmis_belge.png', thresh)
[b]cv2.imshow('Islemis Belge', thresh)[/b]
[b]cv2.waitKey(0)[/b]
[b]cv2.destroyAllWindows()[/b]
Bu tür adımlarla Tesseract'a sunduğunuz verinin kalitesi arttıkça, alacağınız sonuçlar da o denli iyileşecektir.
Diller ve Özel Eğitim Verileri
Tesseract'ın en güçlü yanlarından biri de geniş dil desteği. Yüzden fazla dil için önceden eğitilmiş modelleri (traineddata dosyaları) mevcut. İhtiyacınız olan dil paketini indirip Tesseract'ın 'tessdata' dizinine kopyalamanız yeterli. Bu paketler genellikle .traineddata uzantılı dosyalardır ve tessdata_fast veya tessdata_best depolarından indirilebilir. tessdata_best daha büyük ve daha doğru modeller içerirken, tessdata_fast daha küçük ve daha hızlıdır, ancak doğrulukta ufak tavizler verebilir.
Peki ya belirli bir yazı tipini, el yazısını veya çok özel bir karakter setini tanımanız gerekiyorsa? İşte burada Tesseract'ı kendi verilerinizle yeniden eğitme (fine-tuning) veya sıfırdan eğitim (training) devreye giriyor. Bu süreç biraz daha teknik ve zaman alıcı olsa da, özellikle niş alanlarda (eski el yazmaları, özel semboller içeren belgeler, bozuk fontlar vb.) inanılmaz fark yaratabilir. Kendi eğitim verilerinizi hazırlamak, metin ve karşılık gelen görüntü bölgelerini işaretlemek ve Tesseract'ın eğitim araçlarını kullanmak gerekiyor. Bu konuya burada çok detaylı girmeyeceğim çünkü başlı başına bir rehber konusu, ancak böyle bir imkanın olduğunu bilmek önemli. Unutmayın, ne kadar kaliteli eğitim verisi sağlarsanız, modeliniz o kadar akıllı olur.
Yaygın Sorunlar ve Çözümleri
Tesseract ile çalışırken karşılaşabileceğiniz bazı yaygın sorunlar ve bunlara yönelik çözüm önerileri şunlar olabilir:
- Düşük Doğruluk Oranı: En sık karşılaşılan sorunlardan biri. Çoğu zaman kök neden görüntü kalitesidir. Çözüm: Yukarıda bahsettiğimiz görüntü ön işleme tekniklerini uygulayın. Gürültüyü azaltın, kontrastı artırın, eğriliği düzeltin. Ayrıca doğru PSM ve OEM modlarını kullandığınızdan emin olun. Dil paketi doğru mu, versiyonu güncel mi kontrol edin.
- Yanlış Karakter Tanıma (Örn: 'o' yerine '0', 'l' yerine '1'): Benzer görünümlü karakterler karıştırılabilir. Çözüm: Yine ön işleme kritik. Ayrıca whitelist kullanarak sadece belirli karakter setlerini tanımaya zorlayabilirsiniz. Örneğin, sadece sayısal bir alanı okuyorsanız, komutunu kullanmak bu tür hataları büyük ölçüde azaltır.CODE
1
-c tessedit_char_whitelist=0123456789
- Performans Sorunları (Çok Yavaş Çalışıyor): Özellikle yüksek çözünürlüklü veya çok sayıda sayfalı belgelerde Tesseract yavaşlayabilir. Çözüm: Görüntü çözünürlüğünü optimize edin (300 DPI civarı idealdir). tessdata_fast dil paketlerini kullanmayı deneyin. Çok sayıda görüntüyü eş zamanlı işlemek için çoklu iş parçacığı (multithreading) kullanabilirsiniz.
- Karmaşık Layout'lar (Çok Sütunlu Metinler, Tablolar): Tesseract, varsayılan olarak karmaşık sayfa düzenlerini iyi yönetemeyebilir. Çözüm: Farklı PSM modlarını deneyin. Özellikle PSM 1 (otomatik sayfa segmentasyonu, OSD ile) veya PSM 2 (otomatik sayfa segmentasyonu, OSD yok) gibi modlar bu tür durumlarda daha iyi sonuç verebilir. Tablolar için, önce tabloyu tespit edip her hücreyi ayrı ayrı OCR'dan geçirmek daha sağlam bir yaklaşımdır.
Gerçek Dünya Senaryoları ve İpuçları
Tesseract'ı sadece komut satırından kullanmak zorunda değilsiniz. Çoğu zaman bir programlama dili aracılığıyla entegre edilir. Python için pytesseract kütüphanesi en popüler seçeneklerden biridir. Bu kütüphane, Tesseract'ın komut satırı arayüzünü Python kodunuzdan çağırmanıza olanak tanır ve böylece otomasyon, ön işleme ve çıktı yönetimi gibi işlemleri tek bir çatı altında toplayabilirsiniz.
İşte basit bir pytesseract örneği:
CODE
12345678910111213141516171819
from PIL import Image
import pytesseract
[b]Tesseract'ın kurulu olduğu yolu belirtin (Windows için gerekebilir)[/b]
[b]pytesseract.pytesseract.tesseract_cmd = r'C:\Program Files\Tesseract-OCR\tesseract.exe'[/b]
[b]Görüntüyü aç[/b]
img = Image.open('belge.png')
[b]Görüntüyü OCR'dan geçir ve metni al[/b]
text = pytesseract.image_to_string(img, lang='tur')
print(text)
[b]Belirli bir alanın OCR'ı için bounding box kullanma[/b]
[b]crop_img = img.crop((sol, üst, sağ, alt)) # Örnek: (100, 100, 500, 200)[/b]
[b]cropped_text = pytesseract.image_to_string(crop_img, lang='tur')[/b]
[b]print(cropped_text)[/b]
Bazı pratik ipuçları:
- Faturalar ve Makbuzlar: Genellikle düşük kaliteli, buruşuk veya farklı fontlara sahip olabilirler. Burada ön işleme (keskinleştirme, eşikleme) ve belirli alanları (tarih, toplam tutar) hedefleyen bounding box OCR'ı çok işe yarar.
- Eski Kitaplar ve Arşiv Belgeleri: Sarıarmış kağıtlar, mürekkep lekeleri ve eski tip fontlar zorlayıcı olabilir. Bu durumda adaptif eşikleme, gürültü giderme ve hatta özel eğitimli modeller kullanmak gerekebilir.
- QR veya Barkod İçeren Belgeler: Tesseract doğrudan barkodları veya QR kodlarını tanımaz. Bu tür öğeler için ayrı kütüphaneler (örneğin Python'da pyzbar) kullanmalı ve Tesseract'ın OCR yapacağı alanı bu kodlardan arındırmalısınız.
Unutmayın, her proje kendine özgü zorluklar barındırır. Tesseract bir sihirli değnek değil, ama doğru kullanıldığında elinizdeki en güçlü araçlardan biri haline gelebilir.
Son Söz ve Sizin Deneyimleriniz
Tesseract OCR, doğru yaklaşımla kullanıldığında görüntü tabanlı veriden anlamlı bilgi çıkarma potansiyeli sunan muazzam bir teknoloji. Kurulumundan gelişmiş parametrelerine, görüntü ön işleme tekniklerinden gerçek dünya uygulamalarına kadar birçok konuya değinmeye çalıştım. Amacım, bu güçlü aracı daha verimli kullanmanız için size bir yol haritası sunmaktı.
Peki, siz Tesseract OCR ile çalışırken ne gibi deneyimler yaşadınız? Karşılaştığınız en büyük zorluk neydi ve onu nasıl aştınız? Belki de sizin keşfettiğiniz, burada bahsetmediğim harika bir ipucu veya bir senaryo vardır... Yorumlarınızı ve deneyimlerinizi merakla bekliyorum. Hep birlikte öğrenmeye devam edelim!