Konuyu Oyla:
  • Derecelendirme: 5/5 - 2 oy
  • 1
  • 2
  • 3
  • 4
  • 5
OCR Space - Free OCR API ( Ticari Serbest, Günde 500, ayda 25000 Sorgu ücretsiz )
#1
Lightbulb 
Merhabalar.

- Bugün nette dolaşırken dikkatimi çekti. 

ocr.space.logo.png

OCR.Space isimli bu sitede ücretsiz epostanıza API anahtarı üretilip veriliyor.  Smile

  • 3 sayfa ile sınırlı PDF Dosya - OCR 
  • Commercial use allowed ( yani ticari olarak kullanım serbest )
  • IP başına Günlük 500 sorgu ile sınırlı ama bu bile bir çoğumuzu tatmin eder
  • IP başına  Aylık 25000 sorgu ki bunu hesaplayamadım nasıl 15000 ediyor çarpınca ama öyle demişler. Onların yalancısıyım. 
  • API desteği var, JSON cevap dönüyor. Sadece Delphi değil bir çok platforma uyumlu.

Şimdi de size hazırladığım paket function'u paylaşayım.

function OCR_Online( OCR_ApiKey_OcrSpace :String; aPNG: TPngImage; aFileName:String = '' ): String;
// Uses idMultipartFormData, JSON, EncdDecd,
//      System.Generics.Collections,
//      System.NetEncoding;
 function PNGToBase64Image( aPNGImage: TPngImage ): string;
 var
   Input : TMemoryStream;
   Output: TStringStream;
 begin
   Input := TMemoryStream.Create;
   try
     aPNGImage.SaveToStream(Input);
     Input.Position := 0;
     Output := TStringStream.Create('');
     try
       EncdDecd.EncodeStream(Input, Output);
       Result := Output.DataString;
     finally
       Output.Free;
     end;
   finally
     Input.Free;
   end;
 end;
var
 IdHttp              : TIdHTTP;
 IdMultiPartFormData : TIdMultiPartFormDataStream;
 JsonObject          : TJSONObject;
 JSonValue           : TJSONValue;
 sGelen              : string;
 sSonuc              : string;
begin
 IdHTTP := TIdHTTP.Create(nil);
 IdMultiPartFormData := TIdMultiPartFormDataStream.Create;
 JSONObject  := TJSONObject.Create;
 sSonuc := '';
 try
   IdHTTP.Request.ContentType := 'application/x-www-form-urlencoded';

   IdMultiPartFormData.AddFormField(  'apikey',             OCR_ApiKey_OcrSpace );
   IdMultiPartFormData.AddFormField(  'language',          'eng'      );
   IdMultiPartFormData.AddFormField(  'filetype',          'png'      );
   IdMultiPartFormData.AddFormField(  'isOverlayRequired', 'false'    );

   if aFileName <> ''
     then IdMultiPartFormData.AddFile     (  'file', aFileName, 'image/png') // Fiziki Dosya İçin...
     else IdMultiPartFormData.AddFormField(  'base64Image',
                               'data:image/png;base64,' + PNGToBase64Image(aPNG),
                               'base64',
                               'image/png' ).ContentTransfer := '8bit';

   sGelen      := IdHttp.Post('https://api.ocr.space/parse/image', IdMultiPartFormData);

   JsonValue   := JSONObject.ParseJSONValue(sGelen);
   JsonValue   :=(JSONValue as TJSONObject).Get('ParsedResults').JSONValue;

   if ( JSONValue is TJSONArray)
     then sSonuc := (  (JsonValue as TJSONArray)
                       .Items[0] as TJSonObject
                    )  .Get('ParsedText')
                       .JSONValue
                       .Value;
   Result :=  sSonuc;
 finally
   JSONObject.Free;
   IdMultiPartFormData.Free;
   IdHttp.Free;
 end;
end;

Not :
  1. OpenSSL kütüphanelerini EXE klasörüne veya SYSTEM PATH tanımındaki bir yola koymayı unutmayınız.
  2. Bu resmi böylece göndermiyorum, arka planda önce resmi siyah beyaza çevirip sonra aynı tepeleme hizaya hizalayıp öyle yolluyorum. Başarı ondan artıyor. Mucize yok yani, sihir karıştıracaksınız illa ki. Idea


Kullanımı :

Az yer kaplıyor diye PNG olarak hazırladım. Dosyaları kendinize göre özelleştirebilirsiniz.

    EditCaptcha.Text := OCR_Online( '5f882ApiKey8957', TPNGImage( CaptchaImage ) );  

veya fiziki dosya adıyla şöyle


    EditCaptcha.Text := OCR_Online( '5f882ApiKey8957', nil, aDosyaAdi );  


- Şu an KARS'ta görevdeyim, Captcha resmi gelişindeki yavaşlık otel internet hızından. 
- Gelen resim anında gösteriliyor ondan sonra yollanıp OCR cevabı bekleniyor. Buna göre hızı değerlendirin. Sonuç alma işlemi çok hızlı.

k2rlieqglnatqeofgeje.gif
Saygılarımla
Muharrem ARMAN

guplouajuixjzfm15eqb.gif
Cevapla


Bu Konudaki Yorumlar
OCR Space - Free OCR API ( Ticari Serbest, Günde 500, ayda 25000 Sorgu ücretsiz ) - Yazar: mrmarman - 12-02-2019, Saat: 00:21

Konu ile Alakalı Benzer Konular
Konular Yazar Yorumlar Okunma Son Yorum
  Tramer SBM Sorgu ikurt07 7 640 27-02-2024, Saat: 12:01
Son Yorum: yhackup
  Free vs FreeAndNil vs DisposeOf yanniosman 6 2.331 08-01-2024, Saat: 11:50
Son Yorum: RAD Coder
  Ctrl+Space Kod Tamamlama nehirnnn 11 1.796 25-01-2023, Saat: 17:21
Son Yorum: nehirnnn
  SQL Sorgu OZCANK 6 2.483 28-02-2021, Saat: 01:21
Son Yorum: FiRewaLL
  "Sorgu Zaman Aşımı Doldu" Hatası OZCANK 7 3.363 08-11-2020, Saat: 10:17
Son Yorum: serdar



Konuyu Okuyanlar: 1 Ziyaretçi