Recogniform - Optical Recognition Technologies



Despeckle Library (Royalties Free)

This despeckle sdk (API) allows the removal of speckle in scanned or faxed images. The speckle is the presence of black points of noise in images acquired by a scanner or received by fax.

Cleaning images is a very important preprocessing step to improve the compression rate, the visualization aspect and the accuracy using ICR/OCR.

Despeckle (speckle detection and deletion) can be very easily performed, specifying the maximum width and height of isolated black elements to be considered as speckle.

In the last version of the library there's a new option, that allows you to perform smart despeckle: textual points (.,;:' ") won't be removed  even if their size is smaller than noise size!

You have obviuosly to supply a monochrome DIB (Device Indipendent Bitmap) in input to the process.

The despeckle process is fast and accurate.

For testing this library you can download a demo application (400 Kb) that allows you to use this function with your TIF images: please give us your feedback and your comments after the test !

BEFORE DESPECKLE

AFTER DESPECKLE

Here you can see the source code in Microsoft Visual C++ of a sample application using the despeckle library:


#include "stdafx.h"
#include "stdio.h"
#include "recodespeckle.c"

int APIENTRY WinMain(HINSTANCE hInstance,
                     HINSTANCE hPrevInstance,
                     LPSTR     lpCmdLine,
                     int       nCmdShow)
{ 	

 // Load dynamically the library
 LoadDespeckleLibrary();

 // Init the session
 int Session= DESPECKLE_Init("demo", "demo");

 long hBitmap;

 // Check if a DIB is available in clipboard
 bool bAvail= IsClipboardFormatAvailable(CF_DIB);

 hBitmap = 0;

 if (bAvail)
  {

   // Open the Clipboard
   ::OpenClipboard(NULL);
		
   // Retrieve the DIB from clipboard 
   hBitmap = (long) GetClipboardData(CF_DIB);

   // Find and removes points of speckle
   long RemovedPoints= DESPECKLE_RemovePoints(Session, (long) hBitmap, 4, 4);

   ::EmptyClipboard();

   // Set the cleaned DIB to clipboard
   SetClipboardData(CF_DIB, (void*)hBitmap);

   // Close the Clipboard	
   ::CloseClipboard();

   char  buffer[200];

   // Format the output message
   if (RemovedPoints!=0)
    sprintf( buffer, "Removed %d points !
      You can paste in your application...", RemovedPoints);

   else

    sprintf( buffer, "Image don't need to be cleaned !");

   // Show the result
   MessageBox(NULL, buffer, "RESULT", MB_OK);
		
  }
 // Show an error message
 else MessageBox(NULL, "Unable to paste DIB", "ERROR", MB_OK);

 // Close the session
 DESPECKLE_Done(Session);

 // Unload the library	
 FreeDespeckleLibrary();

 return 0;
}

  
 

Pricing & Ordering Info
The price of this library is 599 EUR. The library is royalties free till 1000 runtimes, so it can be distributed with every end-user application without paying licenses fee: if you need a larger number of runtimes, you have to buy further licenses.
You can order on-line in our e-commerce store or using our contacts page.

Evaluation Version
You can download an evaluation version of this product from http://www.recogniform.it/downloads/despeckle-sdk.zip.

More Info
If you need further info about this product, please use the contacts page.


 © Recogniform Technologies SpA - All rights reserved