DynamicBinary Method
Summary
Converts an image into a black and white image without changing its bits per pixel by using a local threshold value for each pixel of the image. This operation is useful for pre-processing images for the purpose of improving barcode recognition results.
Example
Imports Leadtools.Services
Imports Leadtools.Services.datacontracts._2009._01
Imports Leadtools.Services.raster.datacontracts._2009._01
Imports Leadtools.Services.ImageProcessing.datacontracts._2009._01
Public Sub DynamicBinaryExample()
Dim client As ColorProcessingServiceClient = New ColorProcessingServiceClient()
Dim sourceBinaryData As RawBinaryData = New RawBinaryData()
sourceBinaryData.Data = File.ReadAllBytes(Path.Combine(LEAD_VARS.ImagesDir, "image1.cmp"))
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 DynamicBinaryRequest = New DynamicBinaryRequest()
request.ConvertOptions = convertOptions
request.RegionData = Nothing
request.Dimension = 8
request.LocalContrast = 16
Dim response As CommandResponse = client.DynamicBinary(request)
If Not response.Destination Is Nothing Then
If TypeOf response.Destination Is RawBinaryData Then
File.WriteAllBytes(Path.Combine(LEAD_VARS.ImagesDir, "DynamicBinary.bmp"), (TryCast(response.Destination, RawBinaryData)).Data)
End If
End If
client.Close()
End Sub
Public NotInheritable Class LEAD_VARS
Public Const ImagesDir As String = "C:\Users\Public\Documents\LEADTOOLS Images"
End Class
using Leadtools.Services;
using leadtools.services.datacontracts._2009._01;
using leadtools.services.raster.datacontracts._2009._01;
using leadtools.services.imageprocessing.datacontracts._2009._01;
public void DynamicBinaryExample()
{
ColorProcessingServiceClient client = new ColorProcessingServiceClient();
RawBinaryData sourceBinaryData = new RawBinaryData();
sourceBinaryData.Data = File.ReadAllBytes(Path.Combine(LEAD_VARS.ImagesDir,"image1.cmp"));
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;
DynamicBinaryRequest request = new DynamicBinaryRequest();
request.ConvertOptions = convertOptions;
request.RegionData = null;
request.Dimension = 8;
request.LocalContrast = 16;
CommandResponse response = client.DynamicBinary(request);
if (response.Destination != null)
{
if (response.Destination is RawBinaryData)
File.WriteAllBytes(Path.Combine(LEAD_VARS.ImagesDir,"DynamicBinary.bmp"), (response.Destination as RawBinaryData).Data);
}
client.Close();
}
static class LEAD_VARS
{
public const string ImagesDir = @"C:\Users\Public\Documents\LEADTOOLS Images";
}