TransApplet is a .Net Class Library that enables System Integrators, Solution Developers, and Individuals to quickly add Image Recognition capability to their products and services.
The software requirements are:
Copying the “CD:\transapplet80” to the C-driver will complete the installation.
Attrasoft TransApplet
Attrasoft
P. O. Box 13051
Savannah, GA, 31406
USA
imagefinder@attrasoft.com
(Email Subject: Attrasoft)
Phone: (912) 484-1717
© Attrasoft 1998 - 2011
THIS LICENSE AGREEMENT ("AGREEMENT") IS BETWEEN YOU, THE END USER, AND Attrasoft. IT GOVERNS THE USE OF THE SOFTWARE PROGRAM AND DOCUMENTATION KNOWN AS Attrasoft TransApplet (THE "PRODUCT"). IF YOU USE THE PRODUCT, THEN YOU AGREE TO THE TERMS OF THIS AGREEMENT. IF YOU ARE NOT WILLING TO BE BOUND BY THE TERMS OF THIS AGREEMENT, PROMPTLY RETURN THIS PACKAGE TO THE PLACE OF PURCHASE WITH A COPY OF THE RECEIPT, AND YOUR LICENSE FEE WILL BE REFUNDED.
Attrasoft licenses use of the PRODUCT, which may be manufactured and distributed by Attrasoft or by a third party (either, the "Manufacturer"). You, the end-user, assume responsibility for the selection of the PRODUCT to achieve your intended results, and for its installation and subsequent use.
GRANT OF LICENSE
Attrasoft hereby grants you
a non-exclusive license to use the PRODUCT in object code form only, upon the
terms and conditions contained in this Agreement.
You may:
1. Use the PRODUCT
on the number of workstations for which you have purchased PRODUCT licenses. The
workstations must be owned, leased or otherwise controlled by you, whether in a
network or other configuration.
2. Create a
quantity of backup copies of the PRODUCT, in any machine-readable or printed
form, equal to the number of PRODUCT licenses you have purchased.
3. Transfer the
PRODUCT and your rights under this Agreement to another party if the other
party agrees to accept the terms and conditions of this Agreement. If you
transfer the PRODUCT, you must, at the same time, either transfer all copies of
PRODUCT to the same party, or destroy any copies not transferred. You must
immediately notify Attrasoft of the transfer.
4. Print out one
copy of the Product documentation from the Attrasoft program, TransApplet,
for each license purchased. If you print out any part of the Product
documentation from the Attrasoft program, TransApplet, you must
reproduce and include all the copyright notices that appear in the
documentation on any such copy of the documentation.
You May Not:
1. Use or copy the
PRODUCT, in whole or in part, except as expressly provided in this Agreement.
2. Use the PRODUCT
concurrently on more than the number of workstations for which you have
purchased licenses.
3. Copy, rent,
distribute, sell, license or sub-license, or otherwise transfer the PRODUCT or
this license, in whole or in part, to another party, except as specifically set
forth above.
4. Incorporate the
PRODUCT or any portion of the PRODUCT into, or use the PRODUCT, or any portion
of the PRODUCT to develop, other software without a license from Attrasoft, or
otherwise modify or create a derivative work from the PRODUCT without a license
from Attrasoft.
5. Reverse
engineer, decompile, or disassemble the PRODUCT.
To use the PRODUCT
as described in Sections 2 or 4 above, or for any other use not specifically
set forth above, additional licensing from Attrasoft is required. For further
information, please contact Attrasoft at:
Attrasoft,
Inc.
Phone: (912)
484-1717
gina@attrasoft.com
PROPRIETARY RIGHTS
This Agreement
gives you ownership only of the physical Attrasoft program, TransApplet,
on which the PRODUCT is stored, but not of the PRODUCT itself. You acknowledge
that Attrasoft owns all rights, title, and interest in the PRODUCT, and that
you will acquire no rights in the PRODUCT through your use of it. You agree
that you will take no action that interferes with Attrasoft's rights in the
PRODUCT.
TERMS
This Agreement is
effective until terminated. You may terminate it at any time by destroying the
PRODUCT together with all copies and documentation in any form. This Agreement
will also terminate automatically and without notice from Attrasoft if you fail
to comply with any term or condition of this Agreement. You agree upon such
termination to destroy the PRODUCT and all copies of the PRODUCT.
DISCLAIMER; LIMITED WARRANTY
EXCEPT AS PROVIDED
BELOW, THE PRODUCT IS PROVIDED "AS IS" WITHOUT WARRANTY OF ANY KIND,
EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO THE IMPLIED
WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE
RISK AS TO THE QUALITY AND PERFORMANCE OF THE PRODUCT IS WITH YOU. SOME
JURISDICTIONS DO NOT ALLOW THE EXCLUSION OF IMPLIED WARRANTIES, SO THE ABOVE
EXCLUSION MAY NOT APPLY TO YOU. NEITHER ATTRASOFT NOR MANUFACTURER WARRANTS THAT
THE FUNCTIONS CONTAINED IN THE PRODUCT WILL MEET YOUR REQUIREMENTS OR THAT THE
OPERATION OF THE PRODUCT WILL BE UNINTERRUPTED OR ERROR-FREE. However, where
Attrasoft is the Manufacturer, Attrasoft warrants that the Attrasoft program, TransApplet,
on which the software is furnished will be free from defects in materials and
workmanship under normal use for a period of ninety (90) days from the date of
delivery as evidenced by a copy of your receipt.
LIMITATION OF REMEDIES
Where Attrasoft is
the Manufacturer, Manufacturer’s entire liability and your exclusive remedy
shall be:
1. The replacement
of the Attrasoft program, TransApplet, not meeting the Limited Warranty,
which is returned to Manufacturer with a copy of your receipt.
2. If Manufacturer
is unable to deliver replacement Attrasoft program, TransApplet, which
is free of defects in materials or workmanship, you may terminate this
Agreement by returning the PRODUCT and a copy of your receipt to the place of
purchase, and your money will be refunded. Where Attrasoft is not the
Manufacturer, Attrasoft shall have no liability to replace or refund, and you
agree to look to Manufacturer to meet the obligations described above.
LIMITATION OF LIABILITY
IN NO EVENT WILL
ATTRASOFT OR MANUFACTURER BE LIABLE TO YOU FOR ANY DAMAGES, INCLUDING, BUT NOT
LIMITED TO, ANY LOST PROFITS, LOST SAVINGS, OR OTHER INDIRECT, SPECIAL,
EXEMPLARY, INCIDENTAL OR CONSEQUENTIAL DAMAGES, ARISING OUT OF THE USE OR
INABILITY TO USE THIS PRODUCT, EVEN IF ATTRASOFT OR MANUFACTURER HAS BEEN
ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. FURTHER, IN NO EVENT WILL ATTRASOFT
OR MANUFACTURER
BE LIABLE FOR ANY CLAIM BY ANY OTHER PARTY ARISING OUT OF
YOUR USE OF THE PRODUCT. SOME JURISDICTIONS DO NOT ALLOW THE LIMITATION OR
EXCLUSION OF LIABILITY FOR INCIDENTAL OR CONSEQUENTIAL DAMAGES, SO THE ABOVE
LIMITATION OR EXCLUSION MAY NOT APPLY TO
YOU.
TRADEMARKS
Attrasoft is a trademark of Attrasoft, Inc. Microsoft,
C# logo are registered trademarks of Microsoft Corporation. No rights, license,
or interest in such trademarks is granted hereunder.
U.S. GOVERNMENT RESTRICTED RIGHTS IN DATA
This computer
software product and documentation are provided with Restricted Rights. Use,
duplication, or disclosure by the U.S. Government is subject to restrictions as
set forth in the Rights in Technical Data and Computer Software clause at DFARS
252.227-7013, or subparagraphs (c)(1) and (2) of the
Commercial Computer Software - Restricted Rights at 48 CFR 52.227-19, as
applicable. Contractor/Manufacturer is Attrasoft, Inc.
EXPORT CONTROLS
You agree not to
export or re-export the PRODUCT, directly or indirectly, to any countries,
end-users or for any end uses that are restricted by U.S. export laws and
regulations, without first obtaining permission to do so as required by the
U.S. Department of Commerce's Bureau of Industry and Security, or other
appropriate government agency. These restrictions change from time to time. If
you have any questions regarding your obligations under U.S. export
regulations, you should contact the Bureau of Industry and Security, U.S.
Department of Commerce, Exporter
Counseling Division,
Washington D.C. (202) 482-4811, http://www.bis.doc.gov.
1.3 Installing
the TransApplet
1.4 Attrasoft
TransApplet Class Library
2.1 Attrasoft
Image Recognition Basics
2.2 Image
Recognition Internal Structures
6.3 Set Up the
Chapter Project
7.2
Implementing H, >, and < Buttons
8.4 Codes for
Each of the Steps
9.6 Signature
File Implementation
10.1 Whole
Image Matching Menu
10.3 N:N
Matching Implementation
10.4 1:N Matching Implementation
12.3 Creating
A Master Library
14.1
Sub-Images and Variations
16.3 Set Up
the Chapter Project
20.2 Image
Preprocessing & Processing
20.4 Neural
Filter and Neural Net Filter
21.1 Image
Preprocessing Filter
21.7 Skip the
Empty Border by Content Percent
22.3 Set Image
Processing Filters
24.1 Pushing
Images Through Filters
24.3 Grouping
Parameters Together
25.5
Unsupervised Filterand BioFilter
25.7.8
Internal/External Weight Cut
25.7.11 Use
BioFilter & Use Neural Filter
26. ImageFinder Support Service Packages
26.1 Basic
Annual Maintenance & Support Package
26.3 What is a
Feasibility Study?
Attrasoft TransApplet for Windows is a .Net Class Library that enables the addition of Image Recognition capability to products & services. It can be used for:
Attrasoft TransApplet for Windows is a .Net Class Library that enables the addition of Image Recognition capability to products & services.
Before you continue, you should be familiar with the Attrasoft ImageFinder for two reasons:
The TransApplet will introduce the class library, “Attrasoft.TransApplet80”. This library is used in the ImageFinder. As a teaching tool, the TransApplet will show you how to build an ImageFinder via C# .Net. Therefore, if you have not learned the ImageFinder, you should start with the ImageFinder now.
The entire ImageFinder C# project is in the software. It is located in the ImageFinder subfolder. You can run the ImageFinder from there.
The software requirements are:
In addition, we assume users understand C# or VB programming.
Copying the “CD:\transapplet80” to the C-driver will complete the installation. After copying, you should have both the Library Files and the Chapter Example.
The TransApplet library has many *.dll files:
C:\transapplet80\xyz80.dll
…
Each Library file has one
main library, which has the same name as the file name:
Attrasoft.TransApplet80.xyz80
Each Library has one main
class, which has the same name as the file name:
Attrasoft.TransApplet80.xyz80.xyz80
The advantage of making
class-name = library-name = file-name
is that you will know what to use. If you go to a file xyz80.dll, you will use Library, “Attrasoft.TransApplet80.xyz80”, and you will use class, xyz80. There is no guessing which class you should choose if the Library has more than one class.
The disadvantage is
that the compiler will not be able to distinguish between the class-name and
the Library-name unless you use the full name.
Xyz80 alone is not
understandable by the C# compiler. To declare an object, you must use the full
path:
Attrasoft.TransApplet80.xyz80.xyz80 myObject80;
Each chapter has a project. Many chapters may share the same project. These projects provide an integration source code so you can cut and paste to produce your own application.
To link to these Libraries:
The Attrasoft Image Recognition Approach has two basic phases:
In matching whole images, a
unique image signature is computed for each image. Different images will have
different signatures. The Signature Matching is based on these image
signatures. This matching can easily reach the speed of 100,000 to 1,000,000
whole images per second and is very fast.
In the Image Segment matching, image signatures may or may not be used. If no image signatures are used, the recognition speed is much slower.
Image Matching is further divided into filters. It is these filters that will perform the image matching tasks.
An image recognition application is roughly divided into:
Level 5: User Interface;
Level 4: Data Management;
Level 3: Image-Matching Layer;
Level 2: Scanner, Camera, and their Drivers;
Level 1: PC with Windows.
The TransApplet Library will be used to implement the Image-Matching layer. Stand-alone software, like the Attrasoft ImageFinder, is roughly divided into 3 layers:
Level 3: User Interface;
Level 2: Image-Matching Layer;
Level 1: PC with Windows.
ImageFinder for Windows is an off-the-shelf Application Software that enables System Integrators, Solution Developers, and Individuals to quickly test their own Image Recognition ideas.
VideoFinder for Windows is an off-the-shelf Application Software that enables System Integrators, Solution Developers, and Individuals to quickly test their own video Recognition ideas.
TransApplet is .Net Class Library that enables System Integrators, Solution Developers, and Individuals to quickly add Image Recognition capability to their products and services.
This User’s Guide will show you how to build software like the ImageFinder using C# .Net. If you have not learned how use to the ImageFinder, you should start with the ImageFinder now. The entire ImageFinder project is located in the ImageFinder sub-folder.
The TransApplet consists of a set of class libraries. Each chapter will introduce one of these libraries as you continue to build the “ImageFinder”. Some minor graphical user interface issues will be ignored here because it is already complicated enough.
Chapter 4, API,
describes the API (Application Programming Interface) of the
“Attrasoft.TransApplet80” Class Library.
Chapter 5, User Interface, briefly describes how to set up the forms and the menu bar for the ImageFinder, and also how to link to class libraries.
Chapter 6, Input, briefly describes how to enter data to the ImageFinder. The input images are further divided into:
An image path specifies the training image. A search-folder specifies the Search Source.
Chapter 7 will also briefly describe how to display the images. The Image Display will play the following role:
Chapter 8, ImageFinderLite, briefly describes how to build the software, ImageFinderLite.
Chapter 9, Image Signatures, will describe how to generate image signatures.
Chapter 10, Whole Image Matching, will describe the steps for whole image matching.
Chapter 11, Binary Search, will describe the steps for binary whole image matching.
Chapter 12, Dynamic Library, introduces the dynamic library used in the ImageFinder. Dynamic Library allows the master library to be updated via insertion, deletion, and update.
Chapter 13, Image
Variation, will describe how to generate image signatures for some simple
variations, such as rotation and flips.
Chapter 14, Sub-Image Matching,
introduces the sub-image matching used in the ImageFinder.
Chapter 15, Fast Sub-Image Matching, gives
a more options for matching sub-images.
Chapter 16, Video Input,
briefly describes how to enter video data to the ImageFinder.
Chapter 17, Whole Video Matching, introduces matching with a whole video as a unit.
Chapter 18, Video Frame Matching, introduces matching with a video frame as a unit.
Chapter 19, Video Object Matching, introduces matching with an object inside a video frame as a unit.
Chapter 20, Image Preprocessing Concept, chapter 21, Image Preprocessing and chapter 22, Image Processing, introduces the image processing process required for the ImageFinder.
Chapter 23, Normalization, introduces image representation required for the ImageFinder.
Chapter 24 and Chapter 25 discuss the internal parameters in the ImageFinder.
Chapter 26, Development Process, introduces the Image Recognition Implementation Process using the TransApplet.
This chapter will introduce the interfaces of the important classes and important functions. The interface for other classes will be introduced in the later chapters as they are used.
Whole Image Matching is done through Image Signature. An image has a set of computed values called features. A collection of features is grouped into a signature.
This section introduces the Image Signature interface. An Image Signature consists of the following attributes:
ID
Name (For example, xyz.jpg)
Path (c:\abc\)
Attribute 1
Attribute 2
…
The interface for Image Signature is:
public interface I_ImageSignature
{
int getStatus ();
string getID();
string getImageName ();
string getImagePath();
string getAbsolutePath ();
int getNumberOfAttributes ();
int [] getSignatureAttributes();
int getSignatureAttributes (int index);
string toString ();
}
The following table lists the functions.
|
Function |
Descriptions |
Comments |
|
int getStatus () |
Returns the status associated with the signature. Output: 1: signature ready. 0: signature not ready. -1: no image -2: image segmentation specification error -3: other error. |
|
|
string getID() |
Returns the ID associated with the signature. Output: image ID. |
|
|
string getImageName () |
Returns the image name associated with the signature. Output: image name. |
|
|
string getImagePath() |
Returns the image path associated with the signature. Output: image path. |
|
|
string getAbsolutePath () |
Returns the absolute path associated with the signature. Output: image absolute path. |
|
|
int getNumberOfAttributes () |
Returns the number of attributes associated with the signature. Output: number of attributes. |
|
|
int [] getSignatureAttributes() |
Returns the attribute array associated with the signature. Output: attribute array. |
|
|
int getSignatureAttributes() (int index) |
Returns the attribute associated with the input index. Input: index. Output: attribute associated with the input index. |
|
|
string toString () |
Returns the entire image signature as a string with fields separated by Tab. |
|
Signature filter computes signatures in the TransApplet; the input is an image and the output is a signature.
The filter has two classes: Signature Generator and Signature Filter. The interface for Signature Generator is:
public interface I_SignatureGenerator
{
bool setSignatureFilter (int x);
int getSignatureFilter ();
ImageSignature getSignature (Bitmap b);
int getSignatureFilterSize ();
string [] getSignatureFilterNames();
}//class
The following table lists the functions.
|
Function |
Descriptions |
Comments |
|
ImageSignature getSignature (Bitmap b) |
Gets the signature of the input image. Bitmap b Output: Signature. |
|
|
int getSignatureFilterSize () |
Gets the number of attributes the library of signatures. |
|
|
bool setSignatureFilter (int x) int getSignatureFilter () |
Selects a Signature Generator. |
|
The interface for Signature Filter is:
public interface I_SignatureFilter
{
bool setSignatureFilter (int x);
int getSignatureFilter ();
string [] getSignatureFilterNames();
ImageSignature getSignature (string imagePath, string ID);
ImageSignature getSignature (string imagePath);
ImageSignature getSignature (Bitmap b, string ID);
ImageSignature getSignature (Bitmap b);
ImageSignature getSignature
( string imagePath, string ID,int x, int y, int w, int h);
ImageSignature getSignature
( Bitmap bImg, string path, string name, string ID,
int x, int y, int w, int h);
bool getLibrary ( string [] imageAbsolutePath, string fileName );
bool getLibrary
( string [] imageAbsolutePath, string [] IDs, string fileName );
bool getSegmentLibrary ( string [] imageAbsolutePath,
string [] IDs,
string [] xs,
string [] ys,
string [] ws,
string [] hs,
string fileName );
bool getSegmentLibrary ( string [] imageAbsolutePath,
string [] IDs,
int [] xs,
int [] ys,
int [] ws,
int [] hs,
string fileName );
}//class
The following table lists the functions.
|
Function |
Descriptions |
Comments |
|
bool setSignatureFilter (int x) int getSignatureFilter () |
Selects a Signature filter. |
|
|
string [] getSignatureFilterNames(); |
Gets a list of Signature filter names. |
|
|
ImageSignature getSignature (string imagePath, string ID);
ImageSignature getSignature (string imagePath); ImageSignature getSignature (Bitmap b, string ID); ImageSignature getSignature (Bitmap b); |
Gets the Signature of the input image. |
|
|
ImageSignature getSignature ( string imagePath, string ID,int x, int y, int w, int h); ImageSignature getSignature ( Bitmap bImg, string path, string name, string ID, int x, int y, int w, int h); |
Gets the Signature of the input image segment.
string imagePath, or Bitmap bImg string ID int x, int y, int w, int h. Output: Signature. |
|
|
bool getLibrary ( string [] imageAbsolutePath, string fileName ); bool getLibrary ( string [] imageAbsolutePath, string [] IDs, string fileName );
bool getSegmentLibrary ( string [] imageAbsolutePath, string [] IDs, string [] xs, string [] ys, string [] ws, string [] hs, string fileName );
bool getSegmentLibrary ( string [] imageAbsolutePath, string [] IDs, int [] xs, int [] ys, int [] ws, int [] hs, string fileName ); |
Generates a Signature library from all images in string [] imageAbsolutePath and produces a file that contains all signatures. Input: string [] imageAbsolutePath Output: A text file that contains the library of signatures. |
|
Attrasoft ImageFinder matches whole images or image segments. The ImageFinder can be used for:
The results for N:N Matching always goes to a file. The results for 1:1 and 1:N Matching go to a data structure called Results_1N. The interface for class, Results_1N, is:
public interface I_Results_1N
{
bool getStatus ();
int getNumberOfMatches();
string getImageID (int i) ;
string [] getImageID () ;
string [] getImageID_N ( int N );
string getScore(int i);
string [] getScore();
string [] getScore_N ( int N );
string getImageName (int i) ;
string [] getImageName () ;
string [] getImageName_N ( int N ) ;
string getImagePath (int i) ;
string []getImagePath () ;
string [] getImagePath_N ( int N ) ;
string getX(int i);
string [] getX();
string [] getX_N ( int N );
string getY(int i);
string [] getY();
string [] getY_N ( int N );
string getW(int i);
string [] getW();
string [] getW_N ( int N );
string getH(int i);
string [] getH();
string [] getH_N ( int N );
Results_1N sort ();
string toString ();
}
The following table lists the functions.
|
Functions |
Descriptions |
Comments |
|
int getStatus () |
Returns the status of the current signature comparison: > 0: OK; < 0: Error. |
|
|
int getNumberOfMatches() |
Returns the number of matches of the current signature comparison. |
|
|
string getImageID (int i) string [] getImageID () string [] getImageID_N ( int N ) |
Returns the matching IDs of the current signature. |
|
|
string getScore(int i) string [] getScore() string [] getScore_N ( int N ) |
Returns the matching scores of the current signature. |
|
|
string getImageName (int i) string [] getImageName () string [] getImageName_N ( int N ) |
Returns the matching names of the current signature. |
|
|
string getImagePath (int i) string []getImagePath () string [] getImagePath_N ( int N ) |
Returns the matching paths of the current signature. |
|
|
string getX(int i) string [] getX() string [] getX_N ( int N ) string getY(int i) string [] getY() string [] getY_N ( int N ) string getW(int i) string [] getW() string [] getW_N ( int N ) string getH(int i) string [] getH() string [] getH_N ( int N ) |
Returns the matching (x, y, w, h) of the current signature. |
|
|
string toString () |
Returns the entire results as a string with fields separated by Tab. |
|
NeuralFilter also matches two whole images. The interface for NeuralFilter is:
public interface I_NeuralFilter
{
bool training ( string a1_txt, string match_txt);
Attrasoft.TransApplet80.Results_1N .Results_1N findMatch11
( Attrasoft.TransApplet80.ImageSignature80.ImageSignature sig1,
Attrasoft.TransApplet80.ImageSignature80.ImageSignature sig2);
Attrasoft.TransApplet80.Results_1N .Results_1N findMatch11
(string path1, string path2);
Attrasoft.TransApplet80.Results_1N .Results_1N findMatch11
(Bitmap left, Bitmap right);
Attrasoft.TransApplet80.Results_1N.Results_1N findMatch1N
(Attrasoft.TransApplet80.ImageSignature80.ImageSignature sig,
string a1File, string b1File);
Attrasoft.TransApplet80.Results_1N.Results_1N findMatch1N
(string keyuPath, string a1File, string b1File);
Attrasoft.TransApplet80.Results_1N.Results_1N findMatch1N
(Bitmap keyImage, string a1File, string b1File);
bool findMatchNN (string a1File, string b1File);
bool findMatchNM (string a1File, string a2File, string b1File);
}
The following table lists the functions.
|
Functions |
Descriptions |
|
bool training ( string a1_txt, string match_txt) |
Trains the BioFilter. |
|
Attrasoft.TransApplet80.Results_1N .Results_1N findMatch11 ( Attrasoft.TransApplet80.ImageSignature80.ImageSignature sig1, Attrasoft.TransApplet80.ImageSignature80.ImageSignature sig2); Attrasoft.TransApplet80.Results_1N .Results_1N findMatch11 (string path1, string path2); Attrasoft.TransApplet80.Results_1N .Results_1N findMatch11 (Bitmap left, Bitmap right); |
Makes a 1:1 matching |
|
Attrasoft.TransApplet80.Results_1N.Results_1N findMatch1N (Attrasoft.TransApplet80.ImageSignature80.ImageSignature sig, string a1File, string b1File); Attrasoft.TransApplet80.Results_1N.Results_1N findMatch1N (string keyuPath, string a1File, string b1File) Attrasoft.TransApplet80.Results_1N.Results_1N findMatch1N (Bitmap keyImage, string a1File, string b1File) |
Makes a 1:N matching |
|
bool findMatchNN (string a1File, string b1File); bool findMatchNM (string a1File, string a2File, string b1File); |
Matches all image signatures in file a1File against all image signatures in a1File or a2File and saves the results to b1File. |
Dynamic Library allows the library (N images in a 1:N Matching) to be updated via insertion, deletion, and update.
The interface for Image Library filter is:
public interface I_ImageLibrary
{
string getLibraryID ();
bool setLibraryID (string x);
bool load ();