TVideoGrabber: Powerfull video capture / media player SDK

TVideoGrabber Video SDK
From: datastead.com
TVideoGrabber is a video capture / media player SDK for development of C#, VB, C++, Delphi, C++Builder, Lazarus and ActiveX-compatible applications.
Powerful and intuitive to use, TVideoGrabber will help you to save time, money and effort to include video and/or audio capabilities in your project.
TVideoGrabber captures and records video and audio streams from video capture devices supplied with a DirectShow driver like USB webcams, USB analog capture devices, HD PCI cards, desktop, as well as from set of bitmaps used as video source.
By installing our optional RTSP/RTMP DirectShow source filter it is possible to preview and record IP cameras, RTSP, RTMP, HTTP, Shoucast and various other streaming sources.
The RTSP filter is able to preview, render and save at the same time the streaming source to a file without transcoding, and generate new files on the fly without loosing frames.
When the RTSP/RTMP DirectShow source filter is installed TVideoGrabber supports also capture devices with a hardware encoder like the Avermedia Live Gamer portable, BlackMagic Decklink, Hauppauge Colossus, etc...
Most of the encoding formats are supported, natively or by using third-party codecs.
You can stream audio/video to the network, directly or through a Windows Media server.
TVideoGrabber is also an advanced media player that lets play audio/video clips at their normal speed, faster, slower, forward and backward, one by one or through a playlist.
It is possible to capture frames, perform text/graphic overlays over the video frames or only over the video window, during preview, recording or playback, perform PIP video from another TVideoGrabber component, apply video processing like rotation, cropping and more.
TVideoGrabber can merge several clips into a single one, split a clip into smaller clips and re-encode them to different formats.
TVideoGrabber is designed to be easy and comprehensive to use.
Several instances of TVideoGrabber can run concurrently, e.g. to display a video capture window and a media player window on the same form, or to run several cameras concurrently on the same form.
The package includes demo projects showing how to implement the simplest as well as the most advanced features, with only a few lines of code.

posted under | 0 Comments

Nicomsoft OCR SDK

Nicomsoft OCR SDK

Smart optical character recognition system
Nicomsoft OCR SDK is an OCR library that allows developers to easily embed high-quality optical character recognition functionality in their products.

While the recognition quality delivered by Nicomsoft OCR is on a par with the premium OCR packages on the market, we also offer a royalty-free licensing policy.This gives our customers the lowest total cost of ownership of a quality OCR system, enabling them to create software products that are more competitive.

Unique character analysis technology delivering reliable recognition of any fonts even in poor-quality images

Key features

  • Excellent analysis algorithms for poor-quality text, distorted, connected and broken characters
  • Dictionaries are used for the best recognition
  • Supports 26 languages: Bulgarian, Catalan, Croatian, Czech, Danish, Dutch, English, Estonian, Finnish, French, German, Hungarian, Indonesian, Italian, Latvian, Lithuanian, Norwegian, Polish, Portuguese, Romanian, Russian, Slovak, Slovenian, Spanish, Swedish, Turkish
  • Ability to scan documents from TWAIN-compatible devices
  • Bar codes support: EAN-13/UPC-A, UPC-E, EAN-8, Code 128, Code 39, Interleaved 2 of 5 and QR Code.
  • ICR module for handwritten digits
  • Multiple-core CPUs support: speeding up analysis of even a single text fragment through efficient parallel processing of recognition
  • Supports multiple image formats: BMP, JPEG, PNG, TIFF, GIF and many others
  • Intuitive OCR API and sample projects with complete source code for various programming languages.
  • Cross-platform: Windows and Linux platforms are supported
Check List of Features page for the complete list of features offered by Nicomsoft OCR engine.

Nicomsoft OCR SDK is designed for using with:

  • Microsoft Visual C/C++
  • Microsoft Visual C#
  • Microsoft Visual Studio .NET
  • Microsoft Visual Basic .NET (VB.NET)
  • Microsoft Visual Basic
  • Borland Delphi
  • Borland C++ Builder
  • Java
  • Other programming systems that can access functions in DLLs or can use COM objects.
Nicomsoft OCR SDK contains several sample projects in different programming languages:
Nicomsoft OCR Sample

Tes

posted under | 1 Comments

Optical Character Recognition (OCR) – How it works

Optical Character Recognition (OCR) – How it works

OCR is a complex technology that converts images with text into editable formats. OCR allows you to process scanned books, screenshots and photos with text and get editable documents like TXT, DOC or PDF files. This technology is widely used in many areas and the most advanced OCR systems can handle almost all types of images, even such complex as scanned magazine pages with images and columns or photos from a mobile phone.
How does modern OCR work? The process of converting an image to editable document is separated to several steps; every step is a set of related algorithms which do a piece of OCR job. General steps in OCR process are:
  • Loading image as bitmap from given source. Source can be a file or a pointer to a memory block, also good OCR system must understand a lot of image formats: BMP, TIFF (both one-page and multi-pages images), JPEG, PNG and so on. PDF files must be supported as well, many documents are stored as images in PDF format and the only way to extract text from such files is to perform OCR.
  • Detecting the most important image features like resolution and inversion. Many OCR algorithms expect some predefined range of font sizes and foreground/background colors so the image must be rescaled and inverted before processing when necessary.
  • Image can be skewed or it can have a lot of noise, so deskew and denoising algorithms are applied to improve the image quality.
Deskew sample
  • Many OCR algorithms require bi-tonal image, therefore color or gray image must be converted to black-white image. This process is called "binarization" and it is very important step because incorrect binarization will cause a lot of problems.
  • Binarization sample
  • Lines detection and removing. This step is required to improve page layout analysis, to achieve better recognition quality for underlined text, to detect tables, etc.
  • Lines detection sample
  • Page layout analysis; this steps is also called "zoning". At this stage OCR system must detect positions and types of all important areas on the image.
  • Detection of text lines and words. Sometimes it is not an easy task because of different font sizes and small spaces between words.
  • Combined-broken characters analysis. It is very common situation when some characters are broken to several parts, or when a few characters touch each one; it is necessary to detect such cases and find correct position of every character.
  • Combined-broken sample
  • Recognition of characters. This is the main algorithm of OCR; an image of every character must be converted to appropriate character code. Sometimes this algorithm produces several character codes for uncertain images. For instance, recognition of the image of "I" character can produce "I", "|" "1", "l" codes and the final character code will be selected later.
  • Dictionary support. This step can improve recognition quality, some characters like "1" and "I", "C" and "G" can look very similar and the dictionary can help to make the decision.
  • Saving results to selected output format, for instance, searchable PDF, DOC, RTF, TXT. It is important to save original page layout: columns, fonts, colors, pictures, background and so on.
It is not a complete list, a lot of other minor algorithms also must be implemented to achieve good recognition on various image types, but they are not principal in most cases and can vary in different OCR systems.
Every OCR step is very important; the whole OCR process will fail if only one its step cannot handle given image correctly. Every algorithm must work correctly on the highest range of images, that is why there are only few good universal OCR systems are available. On the other hand, if some features of given images are know the task becomes much easier, it is possible to get better recognition quality if only one kind of images must be processed. To achieve the best results if some features of images are known, good OCR system must have ability to adjust the most important parameters of every algorithm; sometimes this is the only way to improve recognition quality. Unfortunately, nowadays there are not OCR systems that can be comparable with human eyes and it seems they will not be created in the near future.

posted under | 0 Comments

PostgresDAC: Direct access components for PostgreSQL and Pervasive Postgres

PostgresDAC
Direct access components for PostgreSQL and Pervasive Postgres
Powerful component suite for Delphi/C++Builder and PostgreSQL 7.x, 8.x, 9.x/Pervasive Postgres. It allows you to create Delphi/C++Builder applications with direct access to PostgreSQL/Pervasive Postgres DB without BDE and ODBC. 
 

Top 10 reasons to use PostgresDAC

  • PostgresDAC is a royalty-free product;
  • support of Delphi 5-7, C++Builder 5-6, Borland Developer Studio 2005-2006 Win32 edition, Turbo Delphi 2006, Turbo C++ 2006, CodeGear RAD Studio 2007 (both Delphi 2007 and C++Builder 2007) Win32 Edition, CodeGear Delphi and C++Builder 2009 (Tiburon), Embarcadero RAD Studio 2010 (both Delphi 2010 and C++Builder 2010), Embarcadero RAD Studio XE (Delphi XE and C++Builder XE), Embarcadero RAD Studio XE2 (Delphi XE2 and C++Builder XE2), Embarcadero RAD Studio XE3 (Delphi XE3 and C++Builder XE3), Embarcadero RAD Studio XE4 (Delphi XE4 and C++Builder XE4), Embarcadero RAD Studio XE5 (Delphi XE5 and C++Builder XE5), Embarcadero RAD Studio XE6 (Delphi XE6 and C++Builder XE6), Embarcadero RAD Studio XE7 (Delphi XE7 and C++Builder XE7);
  • only 300-400 Kb are added to your .exe file;
  • full compatibility with all the existing data-aware controls and report designers;
  • full support of the BLOB fields;
  • PostgresDAC is the only product fully support PostgreSQL native dump file format;
  • TNT Unicode Controls Wrappers package for Unicode applications for free (with sources);
  • detailed help system and a lot of various demo applications;
  • and much more. Please find more details in the online documentation.

PostgresDAC Components:


TPSQLDataBase provides discrete control over a connection to a single database in a database application.
Use TPSQLDataBase when a database application requires any of the following control over a database connection:
  • Persistent database connections;
  • Customized database server logins;
  • Transaction control.
TPSQLTable encapsulates a database table.
Use TPSQLTable to access data in a single database table. TPSQLTable provides direct access to every record and field in an underlying database table. TPSQLTable can also work with a subset of records within a database table using ranges and filters.
At design time, create, delete, update, or rename the database table connected to a TPSQLTable by right-clicking on the TPSQLTable and using the pop-up menu.
TPSQLQuery encapsulates a dataset with a result set that is based on an SQL statement.
Use TPSQLQuery to access one or more PostgreSQL tables in a database using SQL statements. TPSQLQuery component is useful because it can:
  • Access more than one table at a time (called a "join" in SQL).
  • Automatically access a subset of rows and columns in its underlying table(s), rather than always returning all rows and columns.
TPSQLUpdateSQL applies updates on behalf of queries or stored procedures that can't post updates directly.
Use a TPSQLUpdateSQL object to provide SQL statements used to update read-only datasets represented by TPSQLQuery component. A dataset is read-only either by design or circumstance. If a dataset is read-only by design, the application itself does not provide a user interface for updating data, but may institute a programmatic scheme behind the scenes. If a dataset is read-only by circumstance, it indicates that the PostgreSQL returned a read-only result set. This usually happens for queries made against multiple tables. Such queries are, by SQL-92 definitions, read-only.
TPSQLBatchExecute component can execute SQL scripts containing more than one SQL statement.
TPSQLMacroQuery is the decessor of TPSQLQuery component and supports all of its properties, methods, events, and functionalities.
TPSQLMonitor monitors dynamic SQL passed to the PostgreSQL server.
TPSQLDump is a component for backing up a PostgreSQL database. It makes consistent backups even if the database is being used concurrently. TPSQLDump does not block other users accessing the database (readers or writers).
Dumps can be output in script or archive file formats. The script files are in plain-text format and contain the SQL commands required to reconstruct the database to the state it was in at the time it was saved. To restore these scripts, use TPSQLBatchExecute, in example. They can be used to reconstruct the database even on other machines and other architectures, with some modifications even on other SQL database products.
The alternative archive file formats that are meant to be used with TPSQLRestore or native pg_restore utility to rebuild the database, and they also allow to be selective about what is restored, or even to reorder the items prior to being restored. The archive files are also designed to be portable across architectures.
TPSQLRestore is a utility for restoring a PostgreSQL database from an archive created by TPSQLDump or pg_dump native utility in one of the non-plain-text formats. It will issue the commands necessary to reconstruct the database to the state it was in at the time it was saved. The archive files also allow TPSQLRestore to be selective about what is restored, or even to reorder the items prior to being restored. The archive files are designed to be portable across architectures.
TPSQLTools component allows to run PosgtreSQL diagnostic and repair operations such as Analyze, Cluster, Vacuum and Reindex.
TBDE2PSQLDAC class is intended for the conversion of BDE Database Objects into PostgresDAC Database Objects.
TPSQLStoredProc encapsulates a dataset with a result set that is based on an server stored procedure.
Use TPSQLStoredProc to access PostgreSQL stored procedure in a database. A stored procedure is a grouped set of statements, stored as part of a database server's metadata (just like tables, indexes, and domains), that performs a frequently-repeated, database-related task on the server and passes results to the client.
TPSQLNotify provides the interface to PostgreSQL Asynchronous Notification functionalities. To learn how does PostgreSQL Asynchronous Notification work, please see Asynchronous Notification section of PostgreSQL documentation.
Use TPSQLNotify to organize notifications between client applications about their actions through Postgres database server.
TPSQLCopy is a component for moving data between PostgreSQL tables and standard file-system files. Allows to work with both client and server file systems. TPSQLCopy may copy data from a file to a table (appending the data to whatever is in the table already), and contents of a table (or even result of a SELECT statement) to a file.
TPSQLDirectQuery is component for high-speed (2-3 times faster then with TPSQLQuery component) data fetching. But it is not TDataset compatible.

PostgresDAC 3.0.0 Beta 1 Released

12/10/2014
New major 3.0.0 version introduces Fetch-On-Demand asynchronous mode for TPSQLQuery, support for built-in range types, support for geometric types.

PostgresDAC meets RAD Studio XE7!

09/11/2014
Support for Delphi XE7 and C++ Builder XE7 introduced immediately!

PostgresDAC v2.12.1 released

07/31/2014
This release introduces fresh client, dump and restore libraries as well as fixes several bugs. Simple client library without SSL support added.

PostgresDAC 2.12.0 meets RAD Studio XE6!

05/01/2014
PostgresDAC v2.12.0 with support for Delphi XE6 and C++ Builder XE6 is available immediately!

PostgresDAC 2.11.2 is out!

03/25/2014
This maintenance release contains the latest client libraries as well as fixes TPSQLStoredProc.RefreshParams behavior in some circumstances.
More news ›
RSS
2.0




 

posted under |

DAC for MySQL: Direct Access Components for MySQL

Direct Access Components for MySQL
MicroOLAP Direct Access Components for MySQL and Delphi/C++ Builder (also known as MySQLDAC) is a Borland Delphi/C++Builder component set for direct connect to MySQL database server. DAC for MySQL allows you to create Delphi/C++Builder applications without BDE, ODBC, ADO and without libmysql.dll

Top reasons to use DAC for MySQL

  • licensed per a developer without royalty fee: you don't need to purchase end-user run-time licenses at all;
  • no MySQL libraries (libmysql.dll) are required on a client workstation;
  • 100% native Delphi code;
  • support of Delphi 5-7, C++Builder 5-6, Borland Developer Studio 2005-2006 Win32 edition, Turbo Delphi 2006, Turbo C++ 2006, CodeGear RAD Studio 2007 (both Delphi 2007 and C++Builder 2007) Win32 Edition, CodeGear Delphi and C++Builder 2009, Embarcadero RAD Studio 2010 (Delphi 2010 and C++Builder 2010), Embarcadero RAD Studio XE (Delphi XE and C++Builder XE), Embarcadero RAD Studio XE2 (Delphi XE2 and C++Builder XE2), Embarcadero RAD Studio XE3 (Delphi XE3 and C++Builder XE3), Embarcadero RAD Studio XE4 (Delphi XE4 and C++Builder XE4), Embarcadero RAD Studio XE5 (Delphi XE5 and C++Builder XE5), Embarcadero RAD Studio XE6 (Delphi XE6 and C++Builder XE6), Embarcadero RAD Studio XE7 (Delphi XE7 and C++Builder XE7);
  • support of MySQL™ 3.xx/4.x/5.x/6.x;
  • only 300-400 Kb are added to your .exe file;
  • full support of stored procedures (with IN, OUT and INOUT parameters);
  • full compatibility with all the existing data-aware controls and report designers;
  • full support of the BLOB fields;
  • TDBImageEx component for JPEG images support included in the package for free (with sources);
  • TNT Unicode Controls Wrappers package for Unicode applications for free (with sources);
  • detailed help system and a lot of various demo applications;
  • and much more. Please find more details in the online documentation.

DAC for MySQL Components:

TmySQLDatabase provides discrete control over a connection to a single database in a database application.
Use TmySQLDatabase when a database application requires any of the following control over a database connection:
  • Persistent database connections;
  • Customized database server logins;
  • Transaction control;
  • Single-value queries.
TmySQLTable encapsulates a database table.
Use TmySQLTable to access data in a single database table. TmySQLTable provides direct access to every record and field in an underlying database table. TmySQLTable can also work with a subset of records within a database table using ranges and filters.
At design time, create, delete, update, or rename the database table connected to a TmySQLTable by right-clicking on the TmySQLTable and using the pop-up menu.
TmySQLQuery encapsulates a dataset with a result set that is based on an SQL statement.
Use TmySQLQuery to access one or more MySQL tables in a database using SQL statements.
TmySQLQuery component is useful because it can:
  • Access more than one table at a time (called a "join" in SQL).
  • Automatically access a subset of rows and columns in its underlying table(s), rather than always returning all rows and columns.
  • Access multi-resultset queries.
TMySQLUpdateSQL applies cached updates on behalf of queries or stored procedures that can't post updates directly.
Use a TMySQLUpdateSQL object to provide SQL statements used to update read-only datasets represented by TMySQLQuery component. A dataset is read-only either by design or circumstance. If a dataset is read-only by design, the application itself does not provide a user interface for updating data, but may institute a programmatic scheme behind the scenes. If a dataset is read-only by circumstance, it indicates that the MySQL returned a read-only result set. This usually happens for queries made against multiple tables. Such queries are, by SQL-92 definitions, read-only.
TmySQLStoredProc provides functionality for using stored procedures in MySQL.
TmySQLStoredProc works with two types of stored procedures: with or without a result set (for the first type use Open() method or set Active property to True, for the second - use ExecProc() method).

When the procedure name is put in the ProcedureName property, the component fetches information on parameters of the procedure from the server and puts it in the Params property according to parameters' types. This component provides full support of IN, OUT and INOUT parameters.
TmySQLDirectQuery is component for high-speed (3-4 times faster then with TmySQLQuery component) data fetching. But it is not TDataset compatible.
TMySQLBatchExecute component can execute SQL scripts containing more than one SQL statement.
TMySQLMacroQuery is the descendant of TMySQLQuery component and supports all of its properties, methods, events, and functionalities. The difference is in Macros and MacroChar properties which help to modify SQL script text in design-time and run-time with easy.
TMySQLMonitor monitors dynamic SQL passed to the MySQL server.
TMySQLDump allows to get SQL script with a dump of a DataBase.
This script can be executed on another MySQL server by TMySQLBatchExecute component.
TMySQLTools component allows to run MySQL diagnostic and repair operations such as Repair, Check, Analyze, Optimize, Backup and Restore.
TBDE2MySQLDAC class is intended for the easy conversion of BDE Database Objects into DAC for MySQL Database Objects.

posted under |
Newer Posts Older Posts Home

Amazon Books

    Amazone Choice!


Recent Comments