Home

HALCON Version 5.2 HALCON/C++ User's Manual

image

Contents

1. Display the region Opening erosion followed by a dilation with a circle mask HRegion open filled lt lt 3 5 gt gt 3 5 w SetColor green Set color for regions open Display w Display the region HDPoint2D trans 100 150 Vector for translation HRegion moved open trans Translation HRegion zoomed moved 2 0 Zooming the region Figure 2 1 Sample program for the application of the class HRegion ee zd a Figure 2 2 On the left the input image mreut tiff and on the right the region after the opening open A program shows the power of the class HRegion see Fig 2 1 First an aerial image mreut tiff is read from a file All pixels with a gray value gt 190 are selected This results in one region region This region is transformed by the next steps all holes the region are filled FillUp small parts of the region are eliminated by a morphological operations first an erosion a kind of shrinking the region followed by a dilation a kind of enlarging the region The last step is the 12 zooming of the region For that the region is first shifted by a translation vector 100 150 to the upper left corner and then zoomed by the factor two Fig 2 2 shows the input image and CHAPTER 2 THE HALCON PARAMETER CLASSES the result of the opening operation 2 1 2 Region Arrays HRegionArray The class HRegionArray serves as container class
2. oS aA aA 22 232s dhe Class HTUple 24 2 3 3 The Simple Mode 26 23A VhexFuple Mode dae ele Se Gale See eS 26 3 Class HWindow 29 4 Structure of the Reference Manual 31 5 Exception Handling 33 5 1 HException 22 beck ty lic Be a Pasta 33 5 2 Return Values of low level HALCON Operators 33 6 Using HALCON C 35 7 Typical Image Processing Problems 39 71 Thresholding an Image 39 Bdge Detection e gh E OO E S 39 7 3 Dynamic Threshold s e es e Pial yi 40 TA Tr isforma tion jt a oe Peds Bee Bw ED 40 7 5 Eliminating small 40 1 6 Selecting onented ObDeCts OS PE OS PE es 4 7 7 Smoothing of Contours 41 Index 43 2 CONTENTS List of Figures 44 Preface HALCON C is the integration of the image analysis system HALCON into the host language C For a detailed description of the operators of the HALCON system the reader is referred to the HALCON reference manual The integration of user defined operators into the HALCON system is described in the C Interface manual The reader of this user manual should be familar with basic concepts of image analysis and the programming language C The HALCON C In
3. Class HRegion for handling regions Class HXLD for handling polygons These classes are described in detail below Besides the below listed member functions the classes contain further functions which are detailed in the HALCON reference manual 2 1 1 Regions HRegion A region is a set of coordinates in the image plane Such a region need not be connected and may contain holes A region can be of a larger size than the actual image format Regions have a runlength coding in HALCON The class HRegion represents a region in HALCON and contains the following member functions or operators in HALCON terms HRegion void Default constructor It creates an empty region i e the area of this regions is zero Not all operators can handle the empty region as input e g some shape property operators HRegion const HDChord amp line Constructing a region from a chord A chord is a horizontal line HRegion const HDPoint2D amp point Constructing a region from a discrete 2 dimensional point HRegion const HRectangle1 amp rect Constructing a region from a rectangle parallel to the coordinate axis The coordinates need not be discrete HRegion const HRectangle2 amp rect Constructing a region from an arbitrarily oriented rectangle The coordinates need not be discrete HRegion const HCircle amp circle Constructing a region from a circle The radius and center need not be discrete HRegion const HEllipse ellipse Constructing a reg
4. lib architecture libhalcon a so sl HALCON library UNIX 1 110 111 The HALCON C library Windows NT halcon lib d1l1 The HALCON library Windows NT include cpp HProto h external function declarations 1 1 1 1 1 11 example programs examples cpp makefile Sample makefiles to compile the example programs for several arcitectures images Several images used by the example programs help english Files necessary for online informations doc Various manuals in subdirectories doc ps manual postscript manuals doc pdf manual postscript manuals 35 36 CHAPTER 6 USING HALCON C doc html HTML manuals doc html HALCONoperator reference HTML Your own C programs that use HALCON operators have to include the file HalconCpp h Do this by adding the include command include HalconCpp h near the top of your C file Using this syntax the compiler looks for HalconCpp h in the current directory only Alternatively you can tell the compiler where to find the file giving it the I lt pathname gt command line flag to denote the include file directory HalconCpp h contains all user relevant definitions of the HALCON system and the declarations necessary for the C interface The library libhalconcpp a so s1 contains the various components of the HALCON C interface libhalcon a so sl is
5. on each pixel with i e HByteImage operator lt lt int i Applying a left shift on each pixel with i e HByteImage operator gt gt int i Applying a right shift on each pixel with i 2 1 ICONIC OBJECTS HOBJECT 21 e HByteImage operator void Complement of each pixel e HByteImage operator HByteImage amp ima Pixel by pixel logical of two images e HByteImage operator HByteImage amp ima Pixel by pixel logical of two images e HByteImage operator HByteImage amp ima Pixel by pixel logical of two images The advantage of the class HByteImage can be seen when accessing each pixel see Fig 2 8 include HalconCpp h include lt iostream h gt main HByteImage in mreut Aerial image HWindow w Output window in Display w Displaying the image HImage out in Copying the image int width out Width Width of the image int height out Height Height of the image long end width height Number of pixel of the image 1 run linear accessing for long k 0 k lt end k Sut 255 in k Reading and setting the pixel Displaying the transformation cout lt lt Transformed lt lt endl out Display w w Click cout lt lt Original lt lt endl in Display w w Click 2 run accessing the image via the coordinates x y for int y 0
6. y lt height for int x 0 x lt width out x y 255 Reading and setting the pixel Displaying the transformation cout lt lt Transformed lt lt endl out Display w w Click cout lt lt Original lt lt endl in Display w w Click Figure 2 8 Sample program for accessing a pixel value using the class HByteImage The class HPixVal is not neccesary in this example Furthermore the member functions GetPixVal and SetPixVal are not used HByteImage allows the accessing of pixel values 22 CHAPTER 2 THE HALCON PARAMETER CLASSES in a notation like in the programming language C The result of the example in Fig 2 8 is ba sically the same as in the example in Fig 2 7 The program in Fig 2 8 is shorter easy to read and has a better runtime performence 2 2 Low level Objects Hobject For dealing with the low level objects HALCON C provides the data type class Hobject This data type allows you to access the internal HALCON data management The class handles the keys of the database The class Hobject serves as basis for the class HObject and the derived classes The class Hobject has the following member functions e Hobject void Default constructor Hobject const Hobject obj Copy constructor e virtual Hobject void Destructor e Hobject amp operator const Hobject amp obj Assignment operator e void Clear void Freeing the memory but preserving the
7. Converting a pixel value to Complex The handling of the class HPixVal is explained by an example in Fig 2 7 The program in Fig 2 7 inverts the input image The input image is a byte image First a copy is generated and the image size is determined In the first run the pixels are accessed linearly In the second run the pixel are accessed via the x y ccordinates 2 1 5 Image Arrays HImageArray The same way which was used to define arrays of regions is used to obtain arrays of images The class is named HImageArray and contains the following member functions e HImageArray void Default constructor empty array no element e HImageArray const HImage amp reg Constructing an image array from a single image e HImageArray const HImageArray amp arr Copy constructor e HImageArray void Destructor e HImageArray amp const HImageArray amp arr Assignment operator e long Num void const Returning the number of elements in the array e HImage const amp operator long index const Reading the element of the array The index is in the range 0 Num 1 2 1 ICONIC OBJECTS HOBJECT 19 include HalconCpp h include lt iostream h gt main HImage in mreut Aerial image HWindow w Output window in Display w Displaying the image HImage out in Copying the image int width out Width Width of the image int height out Height Height of the
8. all flags of the system and its current values Because the number and the type of the numerical output parameter are not known in this case the call has to be made in the tuple mode The rest of the program is self explanatory 28 CHAPTER 2 THE HALCON PARAMETER CLASSES Chapter 3 The Class HWindow Another importent class for building programs with HALCON C is the class HWindow This class provides the management of HALCON windows in a very convenient way The properties of HALCON windows can be easily changed images regions and polygons can be displayed etc The class contains the following member functions HWindow int Row 0 int Column 0 int Width 1 int Height 1 int Father 0 const char Mode const char Host Default constructor The constructed window is opened e HWindow void Destructor This closes the window void Click void const Waiting for a mouse click in the window e HDPoint2D GetMbutton int button const Waiting for a mouse click in the window It returns the current mouse position in the window and the number of the button that was pressed e HDPoint2D GetMbutton void const Waiting for a mouse click in the window It returns the current mouse position in the window e HDPoint2D GetMposition int button const Returning the mouse position and the pressed button without waiting for a mouse click e HDPoint2D GetMposition void const Returning the mouse position without wai
9. amp reg const Applying the Minkowsky addition to all regions using another region as mask HRegionArray operator const HRegion amp reg const Applying the Minkowsky subtraction to all regions using another region as mask HRegionArray operator void const Applying the complement operator to each region of the array HRegionArray operator amp const HRegionArray amp reg const Intersection of each region of the actual array with the union of reg HRegionArray operator const HRegionArray amp reg const Union of each region in the actual array with the union of reg HRegionArray operator const HRegionArray amp reg const Difference of each region in the actual array with the union of reg Most HALCON operators accept HRegionArray as data structure for the input parameter e g union intersection difference etc The constructor instantiating the region ar ray HRegionArray by a single region HRegion makes it possible to handle only one region Without changing the data structure a HRegionArray can be used as input parameter even in the case of a single region Fig 2 3 shows a short example how to use the class HRegionArray include HalconCpp h include iostream h main HImage image control_unit Reading an image from file Segmentation by regiongrowing HRegionArray regs image Regiongrowing 1 1 4 100 HWindow W Display window w SetColored 12 Set colors for regions regs D
10. iconic objects arrays of the corresponding types region image XLD are provided and in the case of numerical parameters the tuple concept is used see class HTuple in Section 2 3 2 The operator Connection in the example program in Fig 1 2 returns an array of iconic objects RegionArray See the HALCON reference manual if you are unsure whether a parameter of an operator can have more than one value or not Unfortunaly the standard C language doesn t provide polymorphic data structures for container classes like e g PROLOG HALCON C overcomes this by using the class HTuple for numerical parameters see Sec tions 2 3 2 and 2 3 4 This class implements the correct management of parameters no matter if the type of the parameter is int float string or array 2 1 Iconic Objects HObject Image processing without images is hard to imagine HALCON provides a data model which means more than handling simple image matrices The root class of the HALCON C class hierarchy is the virtual class HObject which manages entries in the database i e copying releasing objects You can use these entries in simple operators by using the class Hobject The classes HObject and Hobject contain all iconic objects Important operators like the output Display can be applied to all different types in the same manner Three classes are derived from the root class HObject e Class HImage for handling images CHAPTER 2 THE HALCON PARAMETER CLASSES
11. image long end width height Number of pixel of the image 1 run linear accessing for long k 0 k lt end k int pix in GetPixVal k Reading the pixel out SetPixVal k 255 pix Setting the pixel Displaying the transformation cout lt lt Transformed lt lt endl out Display w w Click cout lt lt Original lt lt endl in Display w w Click 2 run accessing the image via the coordiantes x y for int 0 y lt height for int x 0 x lt width int pix in GetPixVal x y Reading the pixel out SetPixVal x y 255 pix Setting the pixel Displaying the transformation cout lt lt Transformed lt lt endl out Display w w Click cout lt lt Original lt lt endl in Display w w Click Figure 2 7 Sample program for the use of the class HPixVal HImage amp operator long index Assigning a region to the element 7 of the array The index index can be gt Num HImageArray operator long min long max Selecting a subset between the lower min and upper max index HImageArray amp Append const HImage amp image Appending another image to the image array HImageArray amp Append const HImageArray amp images Appending another image array to the image array 20 CHAPTER 2 THE HALCON PARAMETER CLASSES 2 1 6 Byte Images HByteImage An important specialization of the class HImage is the class HByteIma
12. key 2 3 Numerical Parameters HALCON C can handle different types of numerical parameters for HALCON operators e discrete numbers long e floating point numbers double and strings char If a HALCON operator returns numerical parameters and it is not clear how many parameters are returned then the parameter has to be of the type class HTuple In this case all other numerical output parameters have to be of the type class HTuple The type of numerical input parameters is simply the class HTuple This is because HTuple provides constructors for all basic data types including 1 2 3 1 Class HCtr1Val Before considering the different ways of passing values to numerical parameters the classes HTuple HCtrlVal are discribed The class HCtr1Val serves as basis for the class HTuple and is normally hidden from the user because it is only used temporarily for type conversion 2 3 NUMERICAL PARAMETERS HCtrlVal void Default constructor HCtrlVal long 1 Constructing a value from long HCtrlVal int 1 Constructing a value from int HCtrlVal double d Constructing a value from double HCtrlVal const char s Constructing a value from char HCtrlVal const HCtrlVal amp v Copy constructor HCtrlVal void Destructor HCtrlVal amp operator const HCtrlVal amp v Assignment operator int ValType const Type of a value operator int void const Conversion to int opera
13. major axis of the equivalent ellipse of the region double Rb void const Length of the minor axis of the equivalent ellipse of the region long Area void const Area of the region 1 number of pixels double X void const double Y void const Center point of the region double Contlength void const Length of the contour of the region see Contlength double Compactness void const Compactness of the actual region see Compactness double Anisometry void const double Bulkiness void const double StructureFactor void const Shape factors see HALCON reference manual double Mii void const double M20 void const double MO2 void const double Ia void const double Ib void const Moments of the region see HALCON reference manual HRectangle1 SmallestRectangle1 void const Smallest surrounding rectangle parallel to the coordinate axis HBool In const HDPoint2D amp p const Boolean test if a point is inside a region HBool IsEmpty void const Boolean test if the region is empty i e the area of the region is zero 2 1 ICONIC OBJECTS HOBJECT 11 include HalconCpp h include iostream h main HImage image mreut Reading an aerial image HRegion region image gt 190 Calculating a threshold HWindow W Display window w SetColor red Set color for regions region Display w Display the region HRegion filled region FillUpQ Fill holes in region filled Display w
14. 10 M110 10 M20 10 MultImage 15 Num 12 18 Phi 10 Ra 10 Rb 10 ReduceDomain 15 50 23 ScaleImage 15 SelectShape 6 StructureFactor 10 SubImage 15 Sum 24 Threshold 16 X 10 YQ 10 Access 12 18 Simple Mode 26 Tuple Mode 26 44 INDEX List of Figures 1 1 1 2 2 1 2 2 2 3 24 2 5 2 6 2 7 2 6 2 9 2 10 3 1 5 1 6 1 The yes f a Monkey sA He Bae This program extract the eyes of the monkey Sample program for the application of the class HRegion Region processing using a sample aerial image Sample program for use of the class HRegionArray Region array processing 2 5 eee A BS BES Sample program for the use of the class Image processing using an aerial image Sample program for the use of the class 1 Sample program for accessing a pixel value using the class HByteImage Sample for the use of the class HTuple A sample program for using the tuple mode output of the actual HALCON Systemi eke See Sample program for the use of the class HWindow Part of the declaration of the class sample makefile for example1 cpp c
15. G_ and errors _ _ 33 34 CHAPTER 5 EXCEPTION HANDLING class HException public HException const char f long 1 const char p Herror e const char HException const char f long 1 const char p const char HException const char f long 1 const char p static Handler InstallHHandler Handler proc static Handler handler Exception Handler long line Line number const char file File name const char Name of the operator Herror err Number of the error const char message Error text void PrintException void Default exception handler Figure 5 1 Part of the declaration of the class HException According to the parameter concept of the HALCON system four different messages can be returned e H_MSG_TRUE the operator terminated without an error and the result value is the boolean value true e H_MSG_FALSE the operator terminated without an error and the result value is the boolean value false e H_MSG_VOID the operator terminated without an error and the result value void is re turned e H_MSG_FAIL the operator terminated without an error and the result value means the operator has not performed successfully This means e g an operator is not responsible or a specific situation has not occurred In practice nearly all HALCON operators return the message H_MSG_TRUE if no error occurs An error in a HALCON operator normally lea
16. HALCON Version 5 2 Mr MVTec Software GmbH HALCON C User s Manual December 19 2001 This user s manual explains how to use the image analysis tool HALCON in C version 5 2 All rights reserved No part of this publication may be reproduced stored in a retrieval system or transmitted in any form or by any means electronic mechanical photocopying recording or otherwise without prior written permission of the publisher Edition 1 July 1997 Edition 2 November 1997 Edition 3 March 1998 Edition 4 April 1999 Edition 4a December 2001 Copyright 1997 2001 MVTec Software GmbH Munich Germany mvtec software GmbH Information concerning HALCON http www mvtec com Contents 1 An Introductory Example 5 2 The HALCON Parameter Classes 7 2 1 leone Objects HUB oo Uh eas eit 4 7 Zell Regions HRegion ore oe AIR aS 8 2 1 2 Region Arrays HRegionArray 12 2 1 3 gt Images HImage iS Mea Ge Bovis 14 2 1 4 1 1 17 2 1 5 Image Arrays HImageArray 18 2 1 6 Byte Images HByteI mage 20 2 2 Low level Objects Hobject 2 ies ble e 22 2 3 Numerical Parameters lt e cee eni ee Be 22 23 The Class shoe e
17. HTuple operator int amp val const Subtracting a number to each element of the tuple e HTuple operator const HTuple amp val const Multiplying two tuples element by element The arrays have to be of the same size e HTuple operator double amp val const HTuple operator int amp val const Multiplying a number with each element of the tuple e HTuple operator const HTuple amp val const Division of two tuples element by element The arrays have to be of the same size e HTuple operator double amp val const HTuple operator int amp val const Division of each element of the tuple by a number e HTuple Concat const HTuple amp t const Concatenating two tuples e extern ostreamk operator lt lt ostream amp s const HTuple amp t Output of a tuple extern istreamk operator gt gt istream amp s HTuple amp t Input of a tuple Fig 2 9 shows a short sample how to use tuples i e the class HTuple The default constructor generates an empty tuple By assigning values to the tuple it is auto matically expanded and the data types of the values are also stored For accessing the tuple the normal array notation can be used If the data type of a value is not known in advance an explicit type conversion has to be performed s Fig 2 9 26 CHAPTER 2 THE HALCON PARAMETER CLASSES include HalconCpp h include lt iostream h gt main 1 HTuple t cout lt lt t Num lt lt n Th
18. IN DESTINATION L H_LIB PROG_NAME o LIBRARIES PROG_NAME o PROG_NAME cpp CC c I H_INCLUDE I CPP_INCLUDE SOURCE PROG_NAME cpp Figure 6 1 sample makefile for example1 cpp compiles program 1 1 The second remark concerns the output terminal In the example programs no host name is 38 CHAPTER 6 USING HALCON C passed to open_window Therefore the window is opened on the machine that is specified in the environment variable DISPLAY If output on a different terminal is desired this can be done either directly in open_window hostname or by specifying a host name in DISPLAY like setenv DISPLAY hostname 0 0 csh syntax To end this chapter Figure 6 1 shows a sample makefile for the program 1 1 cpp see file makefile too If necessary the paths in the makefile have to be replaced by the corresponding paths in your actual system before compiling the example program Things are a bit different with VisualC Mainly there is no such thing like a makefile In stead you have to create a new project which has to contain the 1 11 411 and the halconcpp 1lib d11 files additionally to the desired source file For the examples the project should be of the WIN 32 ConsoleApplication type Please note that the VisualC compiler implicitly calls Update all dependencies if a new file is added to a project Since HALCON runs under Unix as well as under
19. Windows NT the include file HalconCpp h includes several Unix specific headers as well if included under Unix Since they don t exist under NT and the VisualC compiler is dumb enough to ignore the operating system specific cases in the include files you will get a number of warning messages about missing header files These can safely be ignored Also make sure that the stacksize is sufficient Some sophisticated image processing problems require up to 6 MB stacksize so make sure to set the settings of your compiler accordingly See your compiler manual for additional information on this topic Chapter 7 Typical Image Processing Problems This chapter shows the power of the HALCON system to offer or find solutions for image processing problems Some typical problems are introduced and sample solutions provided 7 1 Thresholding an Image Some of the most common sequences of HALCON operators may look like the following one HByteImage Image file_xyz HRegion Threshold Image Threshold 0 120 Threshold Connection HRegionArray ConnectedRegions HRegionArray ResultingRegions ConnectedRegions SelectShape area and 10 100000 This terse program performs the following e All pixel are selected with gray values between the range 0 and 120 e connected component analysis is performed e Only regions of at least 10 pixel size are selected This step can be considered as a step to remove some of the noise from the im
20. age 7 2 Edge Detection For the detection of edges the following sequence of HALCON C operators can be applied HByteImage Image file_xyz HByteImage Sobel Image SobelAmp sum_abs 3 HRegion Max Sobel Threshold 30 255 HRegion Edges Max Skeleton A brief explanation e Before applying the sobel operator it might be useful to apply first a low pass filter to the image in order to suppress noise 39 40 CHAPTER 7 TYPICAL IMAGE PROCESSING PROBLEMS e Besides the sobel operator you can also use filters like EdgesImage Prewitt Robinson Kirsch Roberts BandpassImage or Laplace e The threshold in our case 30 has to be appropiately selected depending on data e The resulting regions are thinned by a Skeleton operator This leads to regions with a pixel width of 1 7 3 Dynamic Threshold Another way to detect edges is e g the following sequence HBytelmage Image file_xyz HByteImage Mean Image MeanImage 11 11 HRegion Threshold Image DynThreshold Mean 5 light Again some remarks The size of the filter mask in our case 11 11 is corraleted with the size of the objects which have to be found in the image Indeed the sizes are proportional e The dynamic threshold selects the pixel with a positive gray value difference of more than 5 brighter than the local environment mask 11 11 7 4 Texture Transformation Texture transformation is useful in order to obtain specific f
21. class HImage all different pixel types can be handled in a unique way polymorphism The class HImage is not virtual thus it can be instantiated It contains the following member functions e HImage void Default constructor empty image e HImage const char file Constructing an image by reading from a file s ReadImage e HImage int width int height const char type Constructing an image of a defined size and a specific pixel type s GenImageConst e HImage void ptr int width int height const char type Constructing an image of a defined size and a specific pixel type by copying memory s GenImagel e HImage const HImage amp image Copy constructor 2 1 ICONIC OBJECTS HOBJECT 15 e virtual HImage void Destructor e HImage amp operator const HImage amp arr Assignment operator e virtual const char PixType void const Return the pixel type of the image e int Width void const Return the width of the image e int Height void const Return the height of the image e HPixVal GetPixVal int x int y const Access a pixel value via the x y coordinates e HPixVal GetPixVal long k const Linear access of a pixel value e virtual void SetPixVal int x int y const HPixVal amp val Set the pixel value via the 2 coordinates e virtual void SetPixVal long k const HPixVal amp val Set the pixel value by linear access e virtual void Display const HWindow amp w const Display an
22. const Selecting all pixel with gray values not equal to a threshold s Threshold Fig 2 5 gives an example of the use of the class HImage include HalconCpp h include iostream h main HImage image mreut Aerial image HWindow Output window image Display w Display image Returning the size of the image cout lt lt width lt lt image Width cout lt lt height lt lt image Height lt lt endl Interactive drawing of a region by using the mouse HRegion mask w DrawRegion Reduce the domain of the image to the mask HImage reduced image amp mask w ClearWindow Clear the window reduced Display w Display the reduced image Applying the mean filter in the reduced image HImage mean reduced MeanImage 61 61 mean Display w HRegion reg bild gt mean 3 reg Display w Figure 2 5 Sample program for the use of the class HImage 2 1 ICONIC OBJECTS HOBJECT 17 we Str Figure 2 6 On the left side the input image mreut tiff and on the right side the segmented regions in the selected image domain The example starts by reading a byte image from a file The aim is to extract bright parts from the image The used filter and the segmentation process itself has to be applied only in a pre chosen part of the image in order to accelerate the runtime This part is selected by drawing an arbitrary region with the m
23. ds to an exception handling You can deactivate the exception handler by calling the operator set_check give_error In this case you can use the operator error_text This operator returns for a given error number the corresponding error message The operator set_check give_error activates the HALCON internal exception handling again Chapter 6 Using HALCON C The HALCON distribution contains some examples for building an application with HAL CON C The examples can be found in the HALCONROOT directory examples cpp The files can serve as a template for your own application HALCON C application has to be run from a DOS shell because no general framework for a specific interactive application is neccasary The reason is that you should be able to integrate your own interactive environment and set up your own arrangement Currently this project file can be compiled with the Microsoft Visual C compiler 5 0 Please make sure to reserve a stack size of 6 MByte when linking an application with the HAL CON libraries More information on that topic can be found in the manual Getting Started and in the user s manual of HDevelop The HALCON C system consists of the following files include cpp HalconCpp h include file contains all user relevant definitions of the HAL CON system and the declarations necessary for the C interface lib architecture libhalconcpp a so sl The HALCON C library UNIX
24. e length of the tuple is 0 t 0 0 815 Assigning values to the tuple til 42 t 2 HAL cout lt lt t Num lt lt The length of the tuple is 3 cout lt lt HTuple lt lt t lt lt 0 Using the lt lt operator double d t 0 Accessing the tuple if the long 1l 1 the types of the elements char t 2 are known Accessing the tuple if the types of the elements are not known 1 14 0 11 1 0 21 50 Figure 2 9 Sample for the use of the class 1 2 3 3 The Simple Mode By applying the simple mode the HALCON operators can be used in your own C programs in a very natural way All numerical output values are variables having the following data types e long for discrete numbers e double for floating point numbers and e char for strings The values are passed by reference using the amp operator The data type string is a pointer to char The user has to take care of the memory allocation for the data type string in the case of output numerical values Examples for calling a HALCON operator in the simple mode can be found in Chapter 7 2 3 4 Tuple Mode The tuple concept has been mentioned several times in this manual A lot of HALCON oper ators have numerical parameters and each parameter may have more than just one value The class HTuple has been introduced in order to handle such parameters in a highly
25. e memory management has to be done manually by the user Chapter 5 Exception Handling Two techniques are used in HALCON C to handle runtime errors The first creates an in stance of the error and passes it to the exception handler The second technique can be used when dealing with low level operators the return value corresponds to an error which can be analyzed subsequently 5 1 The Class HException If a runtime error occurs in HALCON C an instance of the class HException is created This instance contains all information concerning the error After the generation the instance is passed to the exception handler The exception handler can handle the error The default exception handler returns an error message and terminates the program Of course you can implement and use your own exception handler The type of the exception handler is typedef void Handler const HException amp except The parameter of the handler is the instance of the actual error The declaration of the class HException is shown in Fig 5 1 The important members of an error are line Number of the program line in which the error occurred file Name of the file in which the error occurred proc Name of the actual HALCON operator err Number of the error see below message Error text 5 2 Return Values of low level HALCON Operators The return values of type Herror of the HALCON operators can be divided into two categories messages H_MS
26. eems to be more complicated if you view it from the reference manual The reason for this is that values are returned by the member functions and the operation itself is applied on the instance this This causes fewer parameters of the operator However the rules for the transformation are very simple 1 The type of the first input parameter determines the class to which the operator belongs as a member function This parameter vanishes from the set of parameters of this operator 2 The first output parameter determines the return value of the operator Again this param eter vanishes from the set of parameters This is a very convenient way for calling operators from HALCON C Consider this exam ple HRegion HImage Threshold const HTuple amp MinGrey const HTuple amp MaxGrey const HRegionArray HImageArray Threshold const HTuple amp MinGrey const HTuple amp MaxGrey const HImageArray HImageArray MeanImage const HTuple amp MaskWidth const HTuple amp MaskHeight const Calling the member functions looks like HImage Image control_unit HImage Mean Image MeanImage 11 11 HRegion Region Mean Threshold 0 120 Compare the above approach with the use of the low level data type HError Hobject Image Mean Region read_image amp Image control_unit mean_image Image amp Mean 11 11 threshold Mean amp Region 0 120 clear_obj Image clear_obj Mean clear_obj Region Th
27. efficient way Separate calls to one HALCON operator can be combined to just one call by using the tuple concept Besides the above simple mode HALCON C offers also the tuple mode If a numerical output parameter uses a tuple of values the tuple mode has to be applied A mixture between simple and tuple mode is not possible Furthermore the tuple mode has to be used if the type or the number of the returned values of a HALCON operator is not known in advance 2 3 NUMERICAL PARAMETERS 27 The syntax of tuple and simple mode are basically the same The data type in the tuple mode is just 1 that s all If you are not interested in a certain value of a numerical output parameter you can use the 99 anonymous variable _ instead of passing a dummy tuple to that variable include HalconCpp h include iostream h main HTuple SysFlags Info Tuple variables long i Loop variable iget_system amp SysFlags Get system values for 1 0 i lt SysFlags Num i get_system SysFlags i SQ amp Info Get i th Sysflag out lt lt SysFlags i lt lt lt lt Info lt lt Print i th Sysflag Figure 2 10 A sample program for using the tuple mode output of the actual HALCON system State The sample program in Fig 2 10 shows the use of a tuple The program obtains information on the actual HALCON system state The call get_system amp SysFlags gets
28. for regions HRegionArray has the follow ing member functions HRegionArray void Constructor for an empty array Num is 0 HRegionArray const HRegion amp reg Constructor with a single region HRegionArray const HRegionArray amp arr Copy constructor HRegionArray void Destructor HRegionArray amp operator const HRegionArray amp arr Assignment operator long Num void Number of regions in the actual array largest index is Num 1 HRegion const amp operator long index const Reading the element 7 of the array The index is in the range 0 Num 1 HRegion amp operator long index Assigning a region to the element 2 of the array The index index be gt Num HRegionArray operator long min long max const Selecting a subset between the lower min and upper max index HRegionArray amp Append const HRegion amp reg Appending another region to the region array HRegionArray amp Append const HRegionArray amp reg Appending another region array to the region array void Display const HWindow amp w const Display the regions of the array in a window HRegionArray operator lt lt double radius const Applying the Minkowsky addition to all regions using a circular mask HRegionArray operator gt gt double radius const Applying the Minkowsky subtraction to all regions using a circular mask 2 1 ICONIC OBJECTS HOBJECT 13 HRegionArray operator const HRegion
29. ge The range of the pixel values of the class HByteImage is between 0 and 255 This pixel type covers more than 90 of all applications in the field of image processing The advantage of the class HByteImage in comparison to the class HImage is the simplified access to the pixel values This is because the class HPixVal is not neccesary Besides the member functions of HImage the class HByteImage contains the following extensions e HByteImage void Default constructor e HByteImage const char file Constructing a byte image by reading a file HByteImage int width int height Constructing an empty byte image of a given size e HByteImage HByte ptr int width int height Constructing a byte image by copying memory e HByteImage const HByteImage amp image Copy constructor e virtual HByteImage void Destructor HByte amp operator long Setting a pixel value by linear accessing e HByte operator long k const Reading a pixel value by linear accessing e amp operator long Setting a pixel value by linear accessing e HByte operator long k const Reading a pixel value by linear accessing e amp operator int x int Setting a pixel value by accessing it via x y coordinates e HByte operator int x int const Reading a pixel value by accessing it via x y coordinates e HByteImage operator amp int i Applying the logical
30. he HALCON distribution e HTuple void Default constructor Constructs an empty tuple e HTuple long 1 Constructing an array of length 1 from a discrete number long at index position 0 e HTuple int 1 Constructing an array of length 1 from a discrete number converted to the internal type long at index position 0 e HTuple HCoord c Constructing an array of length 1 from a coordinate at index position 0 e HTuple double d Constructing an array of length 1 from a floating number double at index position 0 e HTuple const char s Constructing an array of length 1 from a string at index position 0 e HTuple const HTuple amp t Copying a tuple e Destructor e HTuple amp operator const HTuple amp in Assignment operator e HTuple Sum void const Adding all elements in case they are numbers 2 3 NUMERICAL PARAMETERS 25 HCtrlVal amp operator int i Setting the th element e HCtrlVal operator int i const Reading the th element e HTuple operator const HTuple amp val const Adding two tuples element by element The arrays have to be of the same size e HTuple operator double amp val const HTuple operator int amp val const Adding a number from each element of the tuple e HTuple operator const HTuple amp val const Subtracting two tuples element by element The arrays have to be of the same size e HTuple operator double amp val const
31. he width and height of the rectangle determines the minimum size of the resulting re gions e The orientation of the rectangle determines the orientation of the regions e Lines with the same orientation as Rect are kept 7 7 Smoothing of Contours The last example in this user s manual deals again with morphological operators Often the margins of contours have to be smoothed for further processing e g fitting lines to a contour Or small holes inside a region have to be filled segmentation Image amp Seg HCircle Circle 100 100 3 5 HRegionArray Res Seg Closing Circle e Again segmentation leads to an array of regions Seg e For smoothing the contour a circle mask is recommended e The size of the mask determines how much the contour is smoothed 42 CHAPTER 7 TYPICAL IMAGE PROCESSING PROBLEMS Index Num 12 HTuple 7 Hobject 7 AddImage 15 Anisometry 10 Append 12 Append 19 Area 10 Bulkiness 10 Click 29 Compactness 10 Connection 7 Contlength 10 D 23 Display 9 12 DrawCircle 29 DrawEllipse 29 DrawRectangle1 30 DrawRectangle2 30 DynThreshold 16 FillUp 11 GetMbutton 29 HByte 18 HByteImage 20 HCtrlVal 22 HImageArray 18 HImage 7 14 17 HObject 7 HPixVal 17 HRegionArray 12 HRegion 8 HTuple 22 24 HWindow 29 HXLD 8 Hobject 22 10 23 10 Ib 10 InQ 10 Invert 15 IsEmpty 10 L 23 M02
32. image in a window e HImage operator amp const HRegion amp const Reduce the domain of an image s ReduceDomain e HImage operator const HImage amp add const Adding two images s AddImage e HImage operator const HImage amp sub const Subtracting two images s SubImage e HImage operator const HImage amp mult const Multiplication of two images s MultImage e HImage operator void const Inverting the values of the image s Invert e HImage operator double add const HImage operator double sub const HImage operator double mult const HImage operator double div const Arithmetic operators s ScaleImage 16 CHAPTER 2 THE HALCON PARAMETER CLASSES HRegion operator gt const HImage amp image const Selecting all pixel with gray values brighter than or equal to the input image s DynThreshold HRegion operator lt const HImage amp image const Selecting all pixel with gray values darker than or equal to the input image s DynThreshold HRegion operator gt double thresh const Selecting all pixel with gray values brighter than or equal to a threshold s Threshold HRegion operator lt double thresh const Selecting all pixel with gray values darker than or equal to a threshold s Threshold HRegion operator double thresh const Selecting all pixel with gray values equal to a threshold s Threshold HRegion operator double thresh
33. ion from an arbitrarily oriented ellipse The radii and center need not be discrete HRegion const char file Constructing a region by reading the representation form file This file can be generated by the member function WriteRegion HRegion const HRegion amp reg Copy constructor HRegion amp operator const HRegion amp reg Assignment operator HRegion void Destructor In contrast to the primitive class Hobject this class handles the release of memory 2 1 ICONIC OBJECTS HOBJECT e void Display const HWindow amp w const Output of the region in a window e HRegion operator double scale const Zooming the region by an arbitrary factor The center of scaling is the origin 0 0 e HRegion operator gt gt double radius const HRegion amp operator gt gt double radius Minkowsky subtraction of the region with a circle of radius radius e HRegion operator lt lt double radius const HRegion amp operator lt lt double radius Minkowsky addition of the region with a circle of radius radius e HRegion operator const HDPoint2D amp point const HRegion amp operator const HDPoint2D amp point Translating the region by a 2 dimensional point e HRegion amp operator void Minkowsky addition of the region with a cross containing five points e HRegion operator const HRegion amp reg const HRegion amp operator const HRegion amp reg Minkowsky addition of the region with anothe
34. isplay w Display the regions HRegionArray rect New array for long i 0 i lt regs Num i For all regions in array Test size and shape of each region if regs i Area gt 1000 regs i Compactness lt 1 5 rect Append regs i If test true append region Display the image rect Display w Display resulting regions Figure 2 3 Sample program for use of the class HRegionArray 14 CHAPTER 2 THE HALCON PARAMETER CLASSES Figure 2 4 On the left side the input image control_unit tiff and on the right side the selected rectangles The first step is to read an image In this case it shows a control unit in a manufacturing environment see Fig 2 4 on the left side By applying a regiongrowing algorithm from the HALCON library the image is segmented into regions Each region inside the resulting region array regs is now Selected according to its size and its compactness Each region of a size larger than 1000 pixel and of a compactness value smaller than 1 5 is appended to the region array rect After the processing of the for loop only the regions showing on the right side of Fig 2 4 are left 2 1 3 Images HImage Images contain at least one image matrix in conjuction with a region This region defines the domain of the image Various pixel types are supported The class HImage is the root class for all derived image classes By using the
35. monkey This is done by using shape properties of the regions the size and the anisometry What is the example good for It seemed to be straight foreward to use the operators listed in the HALCON reference manual in your own C program You don t have to care about the underlying data structures and algorithms you can ignore specific hardware requirements if you consider e g input and output operators HALCON handles the memory management 5 6 CHAPTER 1 AN INTRODUCTORY EXAMPLE include HalconCpp h main HImage Mandrill mandrill read image from file mandrill HWindow w window with size equal to image Mandrill Display w display image in window w Click wait for mouse click HRegion Bright Mandrill gt 128 select all bright pixels HRegionArray Conn Bright Connection get connected components select regions with a size of at least 500 pixels HRegionArray Large Conn SelectShape area and 500 90000 select the eyes out of the instance variable Large by using the anisometry as region feature HRegionArray Eyes Large SelectShape anisometry and 1 1 7 Eyes Display w display result image in window w Click wait for mouse click Figure 1 2 This program extract the eyes of the monkey efficiently and hides details from you and provides an easy to use runtime system Consider again the program in Fig 1 2 and ask yourself isn t image processing fun Bu
36. ompiles program example1 45
37. ouse This region mask serves as input for reducing the domain of the original image amp operator The mean filter with a mask size of 61 x 61 is applied to the resulting region reduced Bright pixels are selected by applying the gt operator All pixels brighter than the mean filtered part of the image reduced 3 are selected Fig 2 6 shows the result of the sample program in Fig 2 5 2 1 4 Pixel Values HPixVal The class HPixVal is used for accessing the pixel values of the class HImage Gray values can be set and returned independent of their types e HPixVal void Default constructor e HPixVal const HComplex amp Val Constructing a pixel value from a complex number e HPixVal int Val Constructing a pixel value from an integer int e HPixVal long Val Constructing a pixel value from a long long e HPixVal HByte Val Constructing a pixel value from a byte byte e HPixVal double Val Constructing a pixel value from a double double 18 CHAPTER 2 THE HALCON PARAMETER CLASSES e HPixVal const HPixVal amp Val Copy constructor e HPixVal amp operator const HPixVal amp grey Assignment operator operator HByte void const Converting a pixel value to byte 0 255 operator int void const Converting a pixel value to int operator long void const Converting a pixel value to long operator double void const Converting a pixel value to double operator HComplex void const
38. r region e HRegion operator const HRegion amp reg const HRegion amp operator const HRegion amp reg Minkowsky subtraction of the region with another region e HRegion koperator void Minkowsky subtraction of the region with a cross containing five points e HRegion operator void const Complement of the region e HRegion operator void const Transpose the region at the origin e HRegion operator amp const HRegion amp reg const HRegion amp operator amp const HRegion amp reg Intersection of the region with another region e HRegion operator const HRegion amp reg const HRegion amp operator const HRegion amp reg Union of the region with another region e HRegion operator const HRegion amp reg const HRegion amp operator const HRegion amp reg Subtract another region from the actual region e HBool operator const HRegion amp reg const Boolean test if two regions are identical 10 CHAPTER 2 THE HALCON PARAMETER CLASSES HBool operator gt const HRegion amp reg const HBool operator gt const HRegion amp reg const HBool operator lt const HRegion amp reg const HBool operator lt const HRegion amp reg const Boolean test if another region is included in the region by using the subset of the corre sponding coordinates double Phi void const Orientation of the region by using the angle of the equivalent ellipse double Ra void const Length of the
39. rding to his needs The description in the reference manual reflects the low level operators This affects only the way of calling the operator not the description of the functionality itself The latter remains the same in any case If an operator is called using a low level class the return value of that operator is a state value of type Herror The operator itself doesn t belong to a class hierarchy Examples for such operators are Herror fetch_polygon Hobject Region const HTuple amp Tolerance HTuple Rows HTuple Columns Herror area_center Hobject Regions HTuple Area HTuple Row HTuple Column Herror area_center Hobject Regions long Area double Row double Column Herror class_ndim2 Hobject Image Hobject Regions const HTuple amp Number0fChannels Herror threshold Hobject Image Hobject Region const HTuple amp MinGrey const HTuple amp MaxGrey Herror mean_image Hobject Image Hobject MeanImage const HTuple amp MaskWidth const HTuple amp MaskHeight 31 32 CHAPTER 4 STRUCTURE OF THE REFERENCE MANUAL The operator area_center marks the difference between one and several regions If exactly one region is passed then size row and column refer only to single value If more than one region is passed the numerical output parameter has to be of type HTuple because for each region a value for size row and column is passed The use of the member functions of the classes HRegion HImage s
40. requency bands in an image Thus a texture filter detects specific structures in an image In the following case this structure depends on the chosen filter 16 are available for the operator LawsByte HByteImage Image file_xyz HByteImage Image LawsByte Image ee 2 5 HByteImage Mean TT MeanImage 71 71 HRegion Reg Mean Threshold 30 255 e The mean filter MeanImage is applied with a large mask size in order to smooth the frequency image e You can also apply several texture transformations and combine the results by using the operators AddImage and MultImage 7 5 Eliminating small Objects The following morphological operator eliminates small objects and smoothes the contours of regions 7 6 SELECTING ORIENTED OBJECTS 4 segmentation Image amp Seg HCircle Circle 100 100 3 5 HRegionArray Res Seg Opening Circle e The term segmentation is an arbitrary segmentation operator and results in an array of regions Seg e The size of the mask in this case the radius is 3 5 determines the size of the resulting objects e You can choose an arbitrary mask shape 7 6 Selecting oriented Objects Another application of morphological operators is the selection of objects having a certain ori entation segmentation Image amp Seg HRectangle2 Rect 100 100 0 5 21 2 HRegionArray Res Rect e Again segmentation leads to an array of regions Seg T
41. t joking aside In the following chapters we will discuss the use of the HALCON operators in C programs in more detail Chapter 2 introduces the four different kinds of parameters of the HALCON operators and the corresponding C classes We will explain the passing of tuples of numerical parameters to operators Using this elegant way of tuples the above SelectShape calls in the example program can be combined into one call in a really natural way The class HWindow is used for the output of images and regions and is explained in Chapter 3 Chapter 4 describes the structure of the reference manual and how to use it The exception handling and return values of operators are detailed in Chapter 5 Chapter 6 gives some remarks on the use of the HALCON library from your own application Templates for solving typical image processing problems are given in Chapter 7 Chapter 7 shows the power of a view lines of HALCON operators Chapter 2 The HALCON Parameter Classes HALCON uses four different kinds of parameters for operators Not all of them are used in every operator e Iconic input objects e Iconic output objects e Numerical input parameters e Numerical output parameters Input parameters are passed to an operator by value output parameters are either a return value of an operator or passed to the caller by using the amp operator by reference Most of the HALCON operators can handle more than one value for a parameter In the case of
42. terface is truely different from HALCON C The first is the HALCON internal interface of the HALCON operators which you can use if you want to integrate your algorithms into HALCON and the latter is the use of HALCON from the programming language C CONTENTS Chapter 1 An Introductory Example Let s start with a brief sample program before taking a closer look inside HALCON C Figure 1 1 The left side shows the input image a mandrill and the right side shows the result of the image processing the eyes of the monkey The input image is shown in Fig 1 1 on the left side The task is to find the eyes of the monkey by segmentation The segmentation of the eyes is performed by the C program listed in Fig 1 2 the result of the segmentation process is shown in Fig 1 1 on the right side The program is more or less self explanatory However the basic idea should be explained First all pixel of the input image are selected where the grayvalues have at least a value of 128 on the assuption that the image Mandrill is a byte image with a grayvalue range between 0 and 255 Second the connected component analysis is performed The result of the HALCON operator is an array of regions Each region is isolated in the sense that it does not touch another region according to the neighbourhood relationship The previous region is divided in a set of regions Among these regions those two are selected which correspond to the eyes of the
43. the actual HALCON library The corresponding NT li braries are 1 11 411 and halcon 1lib d11 Finally there are several example programs in the HALCON C distribution 1 1 reads image and demonstrates several graphics operators example2 cpp demonstrates the direct pixel access example3 cpp example for the usage of pixel iterators example4 cpp demonstrates the edge detection with a sobel filter example5 cpp solves a more complicatet problem example6 cpp is a very simple test programm example7 cpp demonstrates the generic pixel access example8 cpp example for the usage of tuple mode example9 cpp introduces the XLD structure example10 cpp demonstrates the usage of several contour structures 1 11 is another simple example for the usage uf tuples makefile sample makefile for example1 c 37 In the following some important environment variables shall be introduced In principle they are the same both under UNIX and Windows NT but in the latter case will be set automatically during the setup So we will only consider their handling in an UNIX environment While a HALCON program is running it accesses several files e g help To tell HAL CON where to look for these files the environment variable HALCONROOT has to be set HALCONROOT points to the HALCON home directory If HALCON is installed in the di rectory usr halcon HALCONROOT has to be set accordingl
44. the class HWindow The window is opened after reading the image from a file This means the window is scaled to the size of the image The lookup table is changed afterwards and the program waits for a mouse click in the window A part of the image is zoomed now and the program waits again for a mouse click in the window By applying a region growing algorithm from the HALCON library Regiongrowing regions are generated and displayed in the window Only the mar gin of the regions is displayed It is displayed in 6 different colors in the window The example ends with another way of displaying the shape of regions The smallest rectangle parallel to the coordinate axes surrounding each region is displayed Chapter 4 Structure of the Reference Manual HALCON C reference manual contains the complete description of all operators in the HALCON system This chapter explains how to read the description of the operators Most of the HALCON operators are used with more than one signature The reasons for this are e Operators can be accessed either via the low level data structure Hobject or via the high level classes HImage HRegion HImageArray and HRegionArray The user can choose amongst them e Many of operators can have more than one value for a parameter see Chapter 2 This holds for both iconic objects images and regions and for numerical parameters The user can choose between the different ways of calling an operator acco
45. ting for a mouse click e HCircle DrawCircle void const Drawing a circle e HEllipse DrawEllipse void const Drawing an ellipse 29 30 CHAPTER 3 THE CLASS HWINDOW e 1 1 DrawRectanglei void const Drawing a rectangle parallel to the coordinate axis e HRectangle2 DrawRectangle2 void const Drawing a rectangle with an arbitrary orientation and size Besides those elementary member functions the class HWindow contains more operators which are explained in detail in the HALCON reference manual in the Graphics chapter Fig 3 1 shows the typical use of some member functions of the class HWindow and the different possibilities of displaying images and regions include HalconCpp h main d HImage image control_unit Reading an image from a file HWindow w Opening an appropiate window image Display w Display the image w SetLut change2 Set a lookup table w Click Waiting for a mouse click w SetLut default Set the default lookup table w SetPart 100 100 200 200 Set a part of the window image Display w w Click Adapting the part to the image again w SetPart 0 0 bild Height 1 bild Width 1 image Display w HRegionArray regs image Regiongrowing 1 1 4 100 w SetDraw margin w SetColored 6 regs Display w w Click image Display w w SetShape rectangle1 regs Display w Figure 3 1 Sample program for the use of
46. tor long void const Conversion to long operator double void const Conversion to double operator const char void const Conversion to char double D const Accessing a value and conversion to double long L const Accessing a value and conversion to long int const Accessing a value and conversion to int const char S const Accessing a value and conversion to char HCtrl1Val operator const HCtrlVal amp val const Adding two values 23 24 CHAPTER 2 THE HALCON PARAMETER CLASSES e HCtrlVal operator const HCtrlVal amp val const Subtracting two values e HCtrlVal operator const HCtrlVal amp val const Multiplying two values e HCtrlVal operator const HCtrlVal amp val const Division of two values 2 3 2 The Class HTuple The class HTup1e is built by using the class HCtr1Val The class HTuple implements an array of dynamic length for instances of the class HCtr1Val The default constructor constructs an empty array Num 0 This array can dynamically be expanded via assignments The memory management 1 reallocation freeing is also managed by the class The index for accessing the array is in the range between 0 and Num 1 The class HTuple plays an importent role for the export of programs written in HDevelop to C code The following member functions reflect only a small portion of the total For further information please see the file HTuple h which is included in t
47. y using the command setenv HALCONROOT usr halcon csh syntax HALCONROOT is also used in the sample makefile If user defined packages are used the environment variable HALCONEXTENSIONS has to be set HALCON will look for possible extensions and their corresponding help files in the directories given in HALCONEXTENSIONS See the HALCON C Interface Programmer s Manual for more details Two things are important in connection with the example programs The default directory for the HALCON operator read_image to look for images is usr halcon images If the images reside in different directories the appropriate path must be set read_image or the default image directory must be changed using set_system image_dir This is also possible with the environment variable HALCONIMAGES It has to be set before starting the program An appropriate definition could look like setenv HALCONIMAGES usr halcon images It is also possible to put the images in several directories In that case all the directories separated by colons under Unix and semicolons under Windows NT have to be set in HALCONIMAGES PROG_NAME DESTINATION HALCONROOT ARCHITECTURE 1 1 PROG_NAME BIN SOURCE H_INCLUDE HALCONROOT include CPP_INCLUDE HALCONROOT include cpp H_LIB HALCONROOT 1ib ARCHITECTURE LIBRARIES lhalconcpp lhalcon 1m 1X11 CC OG p BIN DESTINATION PROG_NAME CC o B

Download Pdf Manuals

image

Related Search

Related Contents

Manual MRI-TF92 versão 1.2.cdr  Nady Systems MSE-100A Musical Instrument User Manual  Freescale - MPC8360E-RDK - MPC8360E-RDK Reference  Athena Technologies AS-P300 Portable Speaker User Manual  ダウンロード(674KB) - 三菱電機エンジニアリング株式会社  Harbor Freight Tools Threaded Insert Riveter Kit 45 Pc Product manual  Harbor Freight Tools 1100 lb. Electric Hoist with Remote Control Product manual  Hotpoint C362E Electric Pressure Cooker User Manual  KD-SH1000 - Aerne Menu  Samsung MM-DB9 User Manual  

Copyright © All rights reserved.
Failed to retrieve file