ByteScout Text Recognition SDK - VB.NET - Use Image Preprocessing Filters - ByteScout

ByteScout Text Recognition SDK – VB.NET – Use Image Preprocessing Filters

  • Home
  • /
  • Articles
  • /
  • ByteScout Text Recognition SDK – VB.NET – Use Image Preprocessing Filters

How to use image preprocessing filters in VB.NET with ByteScout Text Recognition SDK

Tutorial on how to use image preprocessing filters in VB.NET

These source code samples are listed and grouped by their programming language and functions they use. ByteScout Text Recognition SDK: the software development kit for automatic text recognition and OCR from pdf documents and images. Can recognize English and non-English languages. It can use image preprocessing filters in VB.NET.

VB.NET code samples for VB.NET developers help to speed up coding of your application when using ByteScout Text Recognition SDK. Follow the instructions from the scratch to work and copy the VB.NET code. Test VB.NET sample code examples whether they respond your needs and requirements for the project.

Trial version of ByteScout Text Recognition SDK can be downloaded for free from our website. It also includes source code samples for VB.NET and other programming languages.

Try it today: Get 60 Day Free Trial or sign up for Web API

Module1.vb
      
Imports Bytescout.TextRecognition Module Module1 Sub Main() Dim inputDocument As String = ".\skewed.png" Dim outputDocument As String = ".\result.txt" ' Create and activate TextRecognizer instance Using textRecognizer As TextRecognizer = New TextRecognizer("demo", "demo") Try ' Load document (image or PDF) textRecognizer.LoadDocument(inputDocument) ' Set the location of OCR language data files textRecognizer.OCRLanguageDataFolder = "c:\Program Files\ByteScout Text Recognition SDK\ocrdata_best\" ' Set OCR language. ' "eng" for english, "deu" for German, "fra" for French, "spa" for Spanish, etc. - according to files in "ocrdata" folder ' Find more language files at https://github.com/bytescout/ocrdata textRecognizer.OCRLanguage = "eng" ' Add deskew filter that automatically rotates the image to make the text horizontal. ' Note, it analyzes the left edge of scanned text. Any dark artifacts may prevent ' the correct angle detection. textRecognizer.ImagePreprocessingFilters.AddDeskew() ' Other filters that may be useful to improve recognition ' (note, the filters are applied in the order they were added): ' Improve image contrast. 'textRecognizer.ImagePreprocessingFilters.AddContrast() ' Apply gamma correction. 'textRecognizer.ImagePreprocessingFilters.AddGammaCorrection() ' Apply median filter. Helps to remove noise. 'textRecognizer.ImagePreprocessingFilters.AddMedian() ' Apply dilate filter. Helps to cure symbols erosion. 'textRecognizer.ImagePreprocessingFilters.AddDilate() ' Lines removers. Removing borders of some tables may improve the recognition. 'textRecognizer.ImagePreprocessingFilters.AddHorizontalLinesRemover() 'textRecognizer.ImagePreprocessingFilters.AddVerticalLinesRemover() ' Recognize text from all pages and save it to file textRecognizer.SaveText(outputDocument) ' Open the result file in default associated application (for demo purposes) Process.Start(outputDocument) Catch exception As Exception Console.WriteLine(exception) End Try End Using End Sub End Module

Try it today: Get 60 Day Free Trial or sign up for Web API

TextRecognitionExample.sln
      
Microsoft Visual Studio Solution File, Format Version 11.00 # Visual Studio 2010 Project("{F184B08F-C81C-45F6-A57F-5ABD9991F28F}") = "TextRecognitionExample", "TextRecognitionExample.vbproj", "{E5339352-1EBE-4547-B281-88D9FEEF92D7}" EndProject Global GlobalSection(SolutionConfigurationPlatforms) = preSolution Debug|Any CPU = Debug|Any CPU Release|Any CPU = Release|Any CPU EndGlobalSection GlobalSection(ProjectConfigurationPlatforms) = postSolution {E5339352-1EBE-4547-B281-88D9FEEF92D7}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {E5339352-1EBE-4547-B281-88D9FEEF92D7}.Debug|Any CPU.Build.0 = Debug|Any CPU {E5339352-1EBE-4547-B281-88D9FEEF92D7}.Release|Any CPU.ActiveCfg = Release|Any CPU {E5339352-1EBE-4547-B281-88D9FEEF92D7}.Release|Any CPU.Build.0 = Release|Any CPU EndGlobalSection GlobalSection(SolutionProperties) = preSolution HideSolutionNode = FALSE EndGlobalSection EndGlobal

Try it today: Get 60 Day Free Trial or sign up for Web API

TextRecognitionExample.vbproj
      
<?xml version="1.0" encoding="utf-8"?> <Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> <PropertyGroup> <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration> <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform> <ProductVersion> </ProductVersion> <SchemaVersion> </SchemaVersion> <ProjectGuid>{E5339352-1EBE-4547-B281-88D9FEEF92D7}</ProjectGuid> <OutputType>Exe</OutputType> <StartupObject>TextRecognitionExample.Module1</StartupObject> <RootNamespace>TextRecognitionExample</RootNamespace> <AssemblyName>TextRecognitionExample</AssemblyName> <FileAlignment>512</FileAlignment> <MyType>Console</MyType> <TargetFrameworkVersion>v4.0</TargetFrameworkVersion> <TargetFrameworkProfile>Client</TargetFrameworkProfile> </PropertyGroup> <PropertyGroup> <OptionExplicit>On</OptionExplicit> </PropertyGroup> <PropertyGroup> <OptionCompare>Binary</OptionCompare> </PropertyGroup> <PropertyGroup> <OptionStrict>Off</OptionStrict> </PropertyGroup> <PropertyGroup> <OptionInfer>On</OptionInfer> </PropertyGroup> <PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Debug|AnyCPU'"> <DebugSymbols>true</DebugSymbols> <DefineDebug>true</DefineDebug> <DefineTrace>true</DefineTrace> <OutputPath>bin\Debug\</OutputPath> <DocumentationFile>TextRecognitionExample.xml</DocumentationFile> <NoWarn>42016,41999,42017,42018,42019,42032,42036,42020,42021,42022</NoWarn> <DebugType>full</DebugType> <PlatformTarget>AnyCPU</PlatformTarget> </PropertyGroup> <PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Release|AnyCPU'"> <DefineTrace>true</DefineTrace> <OutputPath>bin\Release\</OutputPath> <DocumentationFile>TextRecognitionExample.xml</DocumentationFile> <Optimize>true</Optimize> <NoWarn>42016,41999,42017,42018,42019,42032,42036,42020,42021,42022</NoWarn> <DebugType>pdbonly</DebugType> <PlatformTarget>AnyCPU</PlatformTarget> </PropertyGroup> <ItemGroup> <Reference Include="ByteScout.TextRecognition"> <HintPath>C:\Program Files\ByteScout Text Recognition SDK\net4.00\ByteScout.TextRecognition.dll</HintPath> </Reference> <Reference Include="System" /> <Reference Include="System.Data" /> <Reference Include="System.Deployment" /> <Reference Include="System.Xml" /> <Reference Include="System.Core" /> <Reference Include="System.Xml.Linq" /> <Reference Include="System.Data.DataSetExtensions" /> </ItemGroup> <ItemGroup> <Import Include="Microsoft.VisualBasic" /> <Import Include="System" /> <Import Include="System.Collections" /> <Import Include="System.Collections.Generic" /> <Import Include="System.Data" /> <Import Include="System.Diagnostics" /> <Import Include="System.Linq" /> <Import Include="System.Xml.Linq" /> </ItemGroup> <ItemGroup> <Compile Include="Module1.vb" /> <Compile Include="My Project\AssemblyInfo.vb" /> <Compile Include="My Project\Application.Designer.vb"> <AutoGen>True</AutoGen> <DependentUpon>Application.myapp</DependentUpon> </Compile> <Compile Include="My Project\Resources.Designer.vb"> <AutoGen>True</AutoGen> <DesignTime>True</DesignTime> <DependentUpon>Resources.resx</DependentUpon> </Compile> <Compile Include="My Project\Settings.Designer.vb"> <AutoGen>True</AutoGen> <DependentUpon>Settings.settings</DependentUpon> <DesignTimeSharedInput>True</DesignTimeSharedInput> </Compile> </ItemGroup> <ItemGroup> <EmbeddedResource Include="My Project\Resources.resx"> <Generator>VbMyResourcesResXFileCodeGenerator</Generator> <LastGenOutput>Resources.Designer.vb</LastGenOutput> <CustomToolNamespace>My.Resources</CustomToolNamespace> <SubType>Designer</SubType> </EmbeddedResource> </ItemGroup> <ItemGroup> <None Include="My Project\Application.myapp"> <Generator>MyApplicationCodeGenerator</Generator> <LastGenOutput>Application.Designer.vb</LastGenOutput> </None> <None Include="My Project\Settings.settings"> <Generator>SettingsSingleFileGenerator</Generator> <CustomToolNamespace>My</CustomToolNamespace> <LastGenOutput>Settings.Designer.vb</LastGenOutput> </None> </ItemGroup> <ItemGroup> <Content Include="..\..\skewed.png"> <Link>skewed.png</Link> <CopyToOutputDirectory>Always</CopyToOutputDirectory> </Content> </ItemGroup> <Import Project="$(MSBuildToolsPath)\Microsoft.VisualBasic.targets" /> <!-- To modify your build process, add your task inside one of the targets below and uncomment it. Other similar extension points exist, see Microsoft.Common.targets. <Target Name="BeforeBuild"> </Target> <Target Name="AfterBuild"> </Target> --> </Project>

Try it today: Get 60 Day Free Trial or sign up for Web API

MORE INFORMATION

Get 60 Day Free Trial or Visit ByteScout Text Recognition SDK page

Explore ByteScout Text Recognition SDK documentation

WEB API VERSION

Sign Up for free Web API key

Explore Web API Documentation

Tutorials:

prev
next