LEADTOOLS WCF Image Processing (Leadtools.Services.ImageProcessing.ServiceContracts assembly) Send comments on this topic. | Back to Introduction - All Topics | Help Version 17.0.3.30
Smooth Method
See Also 
Leadtools.Services.ImageProcessing.ServiceContracts Namespace > IDocumentProcessingService Interface : Smooth Method



request
A System.Runtime.Serialization.DataContractAttribute containing the data that will be used in this Leadtools.Services.ImageProcessing.ServiceContracts.IDocumentProcessingService.Smooth operation.

The Smooth Method is available in LEADTOOLS Document and Medical Imaging toolkits.

Smooths the bumps and fills in the nicks of a 1-bit black and white image. This operation is available in the Document/Medical Toolkits.

Syntax

Visual Basic (Declaration) 
<OperationContractAttribute("Smooth")>
<FaultContractAttribute(DetailType=Leadtools.Services.Raster.FaultContracts.RasterFault, 
   Action="", 
   Name="", 
   Namespace="", 
   ProtectionLevel=ProtectionLevel.None, 
   HasProtectionLevel=False)>
Function Smooth( _
   ByVal request As SmoothRequest _
) As DocumentResponse
Visual Basic (Usage)Copy Code
Dim instance As IDocumentProcessingService
Dim request As SmoothRequest
Dim value As DocumentResponse
 
value = instance.Smooth(request)
C# 
[OperationContractAttribute("Smooth")]
[FaultContractAttribute(DetailType=Leadtools.Services.Raster.FaultContracts.RasterFault, 
   Action="", 
   Name="", 
   Namespace="", 
   ProtectionLevel=ProtectionLevel.None, 
   HasProtectionLevel=false)]
DocumentResponse Smooth( 
   SmoothRequest request
)
C++/CLI 
[OperationContractAttribute("Smooth")]
[FaultContractAttribute(DetailType=Leadtools.Services.Raster.FaultContracts.RasterFault, 
   Action="", 
   Name="", 
   Namespace="", 
   ProtectionLevel=ProtectionLevel.None, 
   HasProtectionLevel=false)]
DocumentResponse^ Smooth( 
   SmoothRequest^ request
) 

Parameters

request
A System.Runtime.Serialization.DataContractAttribute containing the data that will be used in this Leadtools.Services.ImageProcessing.ServiceContracts.IDocumentProcessingService.Smooth operation.

Return Value

A System.Runtime.Serialization.DataContractAttribute containing the modified image resulting from the Leadtools.Services.ImageProcessing.ServiceContracts.IDocumentProcessingService.Smooth operation.

Example

Visual BasicCopy Code
Public Sub SmoothExample()
      Dim client As DocumentProcessingServiceClient = New DocumentProcessingServiceClient()
      Dim sourceBinaryData As RawBinaryData = New RawBinaryData()
      sourceBinaryData.Data = File.ReadAllBytes(Path.Combine(LEAD_VARS.ImagesDir, "clean.tif"))

      Dim convertOptions As RasterConvertOptions = New RasterConvertOptions()

      convertOptions.Source = sourceBinaryData
      convertOptions.Destination = Nothing
      convertOptions.Format = RasterImageFormat.Bmp
      convertOptions.FirstPage = 1
      convertOptions.LastPage = 1
      convertOptions.BitsPerPixel = 24
      convertOptions.QualityFactor = 2

      Dim request As SmoothRequest = New SmoothRequest()

      request.ConvertOptions = convertOptions
      request.RegionData = Nothing
      request.Flags = SmoothCommandFlags.FavorLong Or SmoothCommandFlags.GetRegion
      request.Length = 2

      Dim response As DocumentResponse = client.Smooth(request)
      If Not response.Destination Is Nothing Then
         If TypeOf response.Destination Is RawBinaryData Then
            File.WriteAllBytes(Path.Combine(LEAD_VARS.ImagesDir, "Smooth.bmp"), (TryCast(response.Destination, RawBinaryData)).Data)
         End If
      End If

      If Not response.Region Is Nothing Then
         Dim bitmap As Bitmap = New Bitmap(Path.Combine(LEAD_VARS.ImagesDir, "smooth.bmp"))
         Dim graphics As Graphics = graphics.FromImage(bitmap)

         Dim region1 As Region = New Region()
         Dim regionData As RegionData = region1.GetRegionData()
         regionData.Data = response.Region.Data

         Dim region2 As Region = New Region(regionData)

         graphics.FillRegion(Brushes.Red, region2)

         bitmap.Save(Path.Combine(LEAD_VARS.ImagesDir, "SmoothRegion.bmp"))

         region2.Dispose()
         region1.Dispose()
         bitmap.Dispose()
         graphics.Dispose()
      End If

      client.Close()
   End Sub

Public NotInheritable Class LEAD_VARS
   Public Const ImagesDir As String = "C:\Users\Public\Documents\LEADTOOLS Images"
End Class
C#Copy Code
public void SmoothExample()
   {
      DocumentProcessingServiceClient client = new DocumentProcessingServiceClient();
      RawBinaryData sourceBinaryData = new RawBinaryData();
      sourceBinaryData.Data = File.ReadAllBytes(Path.Combine(LEAD_VARS.ImagesDir,"clean.tif"));

      RasterConvertOptions convertOptions = new RasterConvertOptions();

      convertOptions.Source = sourceBinaryData;
      convertOptions.Destination = null;
      convertOptions.Format = RasterImageFormat.Bmp;
      convertOptions.FirstPage = 1;
      convertOptions.LastPage = 1;
      convertOptions.BitsPerPixel = 24;
      convertOptions.QualityFactor = 2;

      SmoothRequest request = new SmoothRequest();

      request.ConvertOptions = convertOptions;
      request.RegionData = null;
      request.Flags = SmoothCommandFlags.FavorLong | SmoothCommandFlags.GetRegion;
      request.Length = 2;

      DocumentResponse response = client.Smooth(request);
      if (response.Destination != null)
      {
         if (response.Destination is RawBinaryData)
            File.WriteAllBytes(Path.Combine(LEAD_VARS.ImagesDir,"Smooth.bmp"), (response.Destination as RawBinaryData).Data);
      }

      if (response.Region != null)
      {
         Bitmap bitmap = new Bitmap(Path.Combine(LEAD_VARS.ImagesDir, "smooth.bmp"));
         Graphics graphics = Graphics.FromImage(bitmap);

         Region region1 = new Region();
         RegionData regionData = region1.GetRegionData();
         regionData.Data = response.Region.Data;

         Region region2 = new Region(regionData);

         graphics.FillRegion(Brushes.Red, region2);

         bitmap.Save(Path.Combine(LEAD_VARS.ImagesDir,"SmoothRegion.bmp"));

         region2.Dispose();
         region1.Dispose();
         bitmap.Dispose();
         graphics.Dispose();
      }

      client.Close();
   }

static class LEAD_VARS
{
   public const string ImagesDir = @"C:\Users\Public\Documents\LEADTOOLS Images";
}

Remarks

  • This operation smooths the text in scanned text documents.
  • This operation works only on 1-bit black and white images.
  • If a region is selected, only the selected region will be changed by this operation. If no region is selected, the whole image will be processed.
  • This operation does not support signed data images.
  • This operation does not support 32-bit grayscale images.
For more information, refer to Cleaning Up 1-Bit Images.

Requirements

Target Platforms: Microsoft .NET Framework 3.0, Windows 2000, Windows XP, Windows Server 2003 family, Windows Server 2008 family, Windows Vista, Windows 7

See Also

Applications developed with LEADTOOLS WCF components require runtime licenses. Server licensing is required for applications on a server. For more information, refer to: Imaging Pro/Document/Medical Features