The HistogramEqualize Method is available in LEADTOOLS Document and Medical Imaging toolkits.
Linearizes the number of pixels, in an image, based on the specified color space. This can be used to bring out the detail in dark areas of an image. This operation is useful for pre-processing images for the purpose of
improving barcode recognition results.
Syntax
Example
Visual Basic | Copy Code |
---|
Public Sub HistogramEqualizeExample()
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 HistogramEqualizeRequest = New HistogramEqualizeRequest()
request.ConvertOptions = convertOptions
request.RegionData = Nothing
request.Type = HistogramEqualizeType.Yuv
Dim response As CommandResponse = client.HistogramEqualize(request)
If Not response.Destination Is Nothing Then
If TypeOf response.Destination Is RawBinaryData Then
File.WriteAllBytes(Path.Combine(LEAD_VARS.ImagesDir, "HistogramEqualize.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 |
C# | Copy Code |
---|
public void HistogramEqualizeExample()
{
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;
HistogramEqualizeRequest request = new HistogramEqualizeRequest();
request.ConvertOptions = convertOptions;
request.RegionData = null;
request.Type = HistogramEqualizeType.Yuv;
CommandResponse response = client.HistogramEqualize(request);
if (response.Destination != null)
{
if (response.Destination is RawBinaryData)
File.WriteAllBytes(Path.Combine(LEAD_VARS.ImagesDir,"HistogramEqualize.bmp"), (response.Destination as RawBinaryData).Data);
}
client.Close();
}
static class LEAD_VARS
{
public const string ImagesDir = @"C:\Users\Public\Documents\LEADTOOLS Images";
} |
Remarks
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