VCLib Documentation  6.12.2




  • Internal Changes.


  • Fixed clc based barcode search.
  • vcmenu_show() now prints a warning if unable to backup background image.
  • vcmenu_show() now also works with 0x7f as backspace.


  • Fixed vc_lut2d2dhmg_hmg_map() for bigger number ranges.
  • Better line drawing border check.
  • Added chprint_4x6_select(), chprint_script_26_32().
  • Added copy_with_bitmask(), merge_with_bitmask(), set_with_bitmask().
  • Added vc_base64_encode(), vc_base64_decode(), vc_sha1().


  • Improved barcode reader by rejecting more wrong EAN-8 codes.


  • Fixed rlc_move() if movement is bigger than the rlc image.
  • Fixed vc_bestfit_poly2d1d_calculate_maxDev() result.
  • Added ImageOffset().
  • Added AND_image().
  • Added rlc_print_line_compact().
  • Added vc_line_greys() and vc_line_greys_scaled().
  • Added vcmenu_init_vcbcinit().
  • Improved barcode search.
  • Corrected documentation formula at linear_regression().
  • Due to the added declaration of the image struct including the IMAGE_ types at the flib's/powerlib's vctypes.h the vclib's declaration at the vclib.h has been gated.
  • Some initial picoSmart Support.


  • Updated dependency: libvcflib5 (>= 5.4.0) is now mandatory.
  • Fixed rlc_zoom() and enhanced it for downzooming.
  • Added chprint_4x6().
  • Added fwrite_image_vector_color().
  • Added rlc_label_fast() for faster labelling using extra information.
  • Added fread_image_size() to read BMP size beforehand.
  • Added vc_slc_neighbour44_equivalence().
  • Added vc_median_anisotropic_1x9() and vc_median_anisotropic_1x9_padded().
  • Added rlcand_slc().
  • Added functions for Color Run Length Code (CLC) generation vc_clc...().
  • Improved Full EAN13 barcode reading.


  • Added vc_corr_census() and surroundings for doing a Census Correlation.
  • Added vc_bestfit_poly2d2d_calculate_poly_errorband() which handles bands.
  • Depends now on Flib or Powerlib version >= 5.3.0.


  • Fixed wrong first Value at NormalizedCorrelation() function at mode 1.


  • Removed an included main().


  • Fixed rlc_mask_image() for small dst dx sizes.


  • Internal improvements for vc_lut2d2dhmg_map() and Hough Linefinder.


  • Added VCPolynom2D1D struct and functions for it.
  • Fixed small memory leaks at storage and loading of polynomials VCPolynom2D2D and VCPolynom1D1D as well as at VCMenu.


  • Z Platforms: Fixed hanging at reading serial number after vc_cam_init().


  • Added vc_bestfit_poly1d1d_calculate_chiSquare().
  • Fixed Segmentation Fault at init_debug_display().
  • Fixed uninitialized value at rlc_sgmt44().
  • nonmax_suppression() now accepts in-place IMAGE_VECTOR.


  • Added output functions vc_svg_text() and vc_svg_doc_view().
  • Replaced some remaining int types by its more specific type I32.


  • Added output functions vc_svg_() to generate SVGs (Scaleable Vector Graphics), handy for annotating pixel images with debug information.
  • Added function IntersectionPointsWithRect()


  • Added some vc_lutU8_generate_*() functions.


  • Internal Changes.


  • Fixed vcmenu_store_values_in_file() to accept arbitrary string lengths by allocating a buffer.
  • Fixed vc_ini reader error at negative I32 values.
  • Fixed contour walk at edgecontour(), GetLibVerString_VCLIB().
  • Added histo_U32_value_quantile(), vc_poly1d1d_copy(), vc_poly2d2d_copy(), vc_draw_edgecontours_(), PL_transform(), vc_bestfit_poly1d1d_successive(), vc_poly1d1d_get_scale(), vc_successive_fit(), LineTranslate(), vc_centerpoint(), vc_centerpoint_successive_fit(), fread_rlc() posix variant, chprint_centered_at_pos_lines(), rlcout_pixellist(), vc_poly1d1d_line_intersection(), vc_poly2d2d_pow_get/set(), ImageROI(), PointLineProjection(), vc_poly1d1d_derive_and_allocate(), vc_poly1d1d_zero_crossing(), VCPolynom1D1D and vc_bestfit_poly1d1d_...().
  • Better behaviour for chprint_centered_at_pos_lines() at bottom right border.


  • Fixes vcmenu_read_values_from_file(), the following pair matched before: menu variable 'ABC' == key in file 'ABCD'.
  • Added vc_libvclib_check_header_ver() to be able to check header version with library version.
  • Added C++ Drawing Wrappers for Dashed/Dotted/Needled versions.


  • The major release is mainly due to naming compatibilty reasons.
  • To convert code linking against vclib5 to link against vclib6:
    • Rename macro name laplace() to vc_laplace().
    • Rename function name draw_line() to vc_draw_line().
    • Rename macro name draw_lined() to vc_draw_lined().
    • Rename macro name draw_linex() to vc_draw_linex().
    • Rename macro name draw_vclined() to vc_draw_vclined().
    • Rename macro name draw_vclinex() to vc_draw_vclinex().
    • Rename function name draw_polygon() to vc_draw_polygon().
    • Rename macro name draw_polygond() to vc_draw_polygond().
    • Rename macro name draw_polygonx() to vc_draw_polygonx().
    • Rename function name draw_circle() to vc_draw_circle().
    • Rename macro name draw_circled() to vc_draw_circled().
    • Rename macro name draw_circlex() to vc_draw_circlex().
  • The following may only be necessary, if SVCMenu or Barcode Reader is used:
    • Rename enum name EVarType to VCType.
    • Rename enum entry TYPE_... to VCTYPE_....
    • Rename define strEnumVarType to str_VCType.
    • Rename define bytesEnumVarTypeto bytes_VCType.
    • Rename struct SVCMenu* to VCMenu*.
    • Rename define NULL_SVCMENU to NULL_VCMenu.
    • The Barcode Reader has been completely renamed and the initialisation phase has been harmonized. Please refer to the vclib6 documentation to see how it changes.


  • Internal release.


  • Fixed FindHoughCircle() segmentation fault at only just fitting radiuses.
  • Added functions calculate_chisquare_for_circle(), lu_inverse(), lu_det(), qr_househ_F64(), vc_QR_solve().
  • On TI platforms SetFalseColorLUT() now assigns a white color to the grey value 0 for better visualisation.


  • Faster rlc_copy() macro by using now rlc_move().
  • Internal changes at rlcmk().


  • SBCRegion->magnitude has an improved value, should be compatible to old, but verification of the results with the new value is recommended.


  • error removed for function rl_color().


  • Memory Leak closed in function rlcmkv().


  • fwrite_jpeg() also works now under linux.
  • Fixes Barcode Result list by removing Entries with empty text.


  • Fixes HoughCircleTransform().


  • Improved Barcode Reader.


  • Improved Barcode Reader.
  • Fixes barcode_search_omnidirectional_continue() Memory Leak.


  • Improved Barcode Reader.


  • Improved Barcode Reader.


  • Fix rlc_mirrorH().
  • Improved Barcode Reader.


  • Improved Barcode Reader.


  • Improved Barcode Reader.


  • Improved Barcode Reader.


  • Added histo_at_rlc(), histo_grey_value_quantile(), rlc_fill_polygons_simple().


  • Added rlc_select_by_polygon_simple(), rlc_draw_polygon().


  • Added mom_calc_ai1(), mom_calc_ai2(), mom_calc_ai3().


  • Added fill_polygon_simple(), vc_line_restrict_to_image(), rlc_drawlinesegment().
  • Corrections in Documentation.


  • Fixes NormalizedCorrelation() and NormalizedCorrelationI32_2().


  • Can use LinePerpendicular() in-place now.


  • Added mom_calc_phi3() and mom_calc_phi4().
  • Improved Barcode Reader


  • The following changes mark the lib version as incompatible:
    • Barcode Changed BarPar,SBCSettings,SBCRegion Struct and Selector Defines
    • Smartfinder Changed SSFSettings, SSFPattern, SSFResult Struct and initializers.
    • DMReader Added QuietZoneSize and DmSearchContr to DMParameter (->v.21).
    • Internal gradient_3x3() and gradient_3x3_threshold() change.
  • Other Changes:
    • Fixed for ARM: rlcinv(), rlc_feret/2().
    • Fix possible division by zero: draw_histo()
    • Fix rlc_move().
    • Fix BarCorrV2().
    • Fix Segfault at bin0() (e.g. binarize()) if dst->dx/dy < src->dx/dy.
    • New area_grey_value_quantile(), zoom_up_xy(), rlcmk_sub(), rlc_cutframe(),rlc90(),rlc180(),rlc_mirrorH(),rlc_mirrorV(), rlc_shear_x(),rlcmk_seed(),rlcmk_seed2(),rlc_rect(),rlc_drawline(), rlc_movef2(),rlc_movef_repeatBorderCol(),sf_pattern_draw().


  • Fixed minor Bug at Barcode Reader.


  • Internal Changes.


  • Moved Colorlib and Extlib functions into VCLib, Colorlib and Extlib now contain Dummies for Compatibility Reasons
  • Changed version defines, added VCLIB_MAINVERSION as major version
  • Function ChangeValue: changed parameter from I8 * to char *
  • Barcode EAN128/CODE128 reading improved
  • Removed FAST define from vclib.h.
  • Functions edgecontours_from_edgeimage() and edgecontour(): Changed Threshold Handling directly at Threshold Value (Pixel value >= Threshold now belongs to the contour (before only >)). This leads to HoughCircle binarization threshold handling at threshold grey value now fits to the old behaviour again.


  • vclib.h
    • Added str_imageType() macro.
    • Added IMAGE_UNSET.
    • Changed macro arguments of draw_polygond/x() and draw_polylined/x()
    • Added more C++ Wrapper.
    • New function prototypes added.
    • Added License Activation functions for Linux Cameras, like vc_license_init_file(), etc.
  • list.h
    • Added define for DO_RELEASE_POINTERS used by pointer lists.
  • Barcode
    • Corrected roi frame height 
    • Enhanced Rounding of bar sizes for EAN13 and BARCODE128
    • Changed EAN13 Start-Stop-Symbol Search and tested.
    • Improved Quiet Zone Check for UPC-E.
  • Bestline
    • No relevant changes.
  • Licence
    • Added License Check for VCLinux Cameras.
  • Contour
    • Changed function arguments of the function edgecontours_from_edgeimage(): Added maglist and dirlist.
    • Changed function arguments of the function edgecontour(): Added maglist and dirlist.
    • Changed function arguments of the function subpixel_edgecontour(): Added maglist.
  • Display
    • Fixed Bug in ImgConvert_I32_U8(image \*Src32, image \*Dst): Src32.dx and Src32.dy now remain unchanged.
  • Filter
    • Added Pseudo Median functions (horizontal median follows vertical median): pmed5x5() and pmed7x7().
    • median3() now returns standard error code.
  • Hough Circle
    • Caution: HoughCircleTransform() now destroys edge input image. This was a necessary part of a bugfix. If you need the image afterwards, be sure to back up it prior.
  • Image Operations
    • Added function SetFalseColorLUT().
  • Image to Value
    • The functions FindMax32(), FindMaxImage16(), and FindMaxImage8() can now handle NULL pointers for coordinates.
  • RLC
    • Moved function rlcmkfc() to flib.


  • complete doxygen documentation added on::

  • added function affine_image_transform3() using biquadratic interpolation
  • added function median1xN() 1xN median filter
  • added function medianNx1() Nx1 median filter
  • Barcode Library added to EXTLIB without any further licence
  • Omnidirectional barcode finder added, function barcode_search_omnidirectional()
  • added function GradientAngle() to compute an average direction out of a gradient image. (GradientAngle() - REMARK for alpha users of the function: definition of angle changed)
  • added function rlcmkv() for vertical RLC generation
  • hardware Bayer to YCbCr conversion added using the DM6435 preview engine
  • added subpixel precise correlation functions: NormalizedCorrelation(), NormalizedCorrelationI32(), BarCorrV() and BarCorrV2() added: correlation for vertically structured objects like barcode
  • several macros for correlation functions
  • added geometric functions LineParallel(), LineParametersA(), VectorDifference(), VectorSum, etc.
  • added function homography_image_transform() for homographic image transform
  • added function fourpoint_calculate() to calculate the homography from 4 points
  • added function rlc90() to rotate RLC by 90 degrees
  • added function hysteresis_RLC(). RLC generation with hysteresis thresholding
  • added function box_DoG_filter(): Difference-of-Gaussian filter with arbitrary size
  • added functions for handling pointer lists including powerful sorting routines
  • new graphic functions for markers, boxes, etc. dashed and dotted lines, etc.
  • added function FindLines() simplifying the use of the Hough Transform for lines
  • changed hough transform for lines to pointer list representation leaving previous representation unchanged using a wrapper function, speed-up
  • added function HoughRectangle() to search for arbitrary rectangles in an edge image
  • added function ImageAllocateEdge() to allocate an image with a border around it
  • added integral image handling
  • rlc_delete(): function now returns (U16 *), functionality improved
  • DebugDisplay functionality added: debug screen with user-defined windows for the display and debug process of complex imaging tasks
  • added function edgecontours_from_edgeimage() to extract contours from an edge image.
  • added function subpixel_edgecontour(): subpixel precise edge detection
  • added function block_orientation_histogram_16x16()
  • added function gradient_3x3_thresh(): gradient image with threshold
  • added function draw_histo() for histogram display
  • added functions rlc_feret() and rlc_minmax_feret() to calculate RLC projections in any (all) direction(s)
  • added functions rlc_getobject(), rlc_keep_object(), rlc_zoom()
  • vcmat matrix struct added to vclib.h
  • definition of NEW_IMAGE_VAR no longer necessary


  • linescan shading: now faster without delay
  • subp_edge.c: ERR_PARAM if n<3
  • ff3.c: bug removed for negative coefficient in filter mask, resulting image was distorted
  • Bayer conversion: support for IMAGE_CBCR411 and IMAGE_CBCR422 added, type check corrected
  • ImageAllocate(): new color formats IMAGE_CBCR411 and IMAGE_CBCR422 added
  • color JPEG added (function encode_jpeg() and macros xjpeg_d, xjpeg_f. demo program: jpgdemo.c
  • function added: ImageAssign_Bayer() for correct Bayer assignment for different cameras and color sensors
  • function added: fastbuf_malloc(), etc. for allocation of fast DSP L1D RAM buffer if present


  • LibVer_VCLIB.C: Add lib version functions
  • licence.c: VC6211, VC6010 added for loan systems
  • HoughCircle.c: wrong memory allocation in FindHoughCircle() bestfit
  • minmx.c: memory checking added
  • rlcmom.c: added mom_calc_area()
  • line.c: added math.h for Round()
  • line.c, line2.c: function IntersectionPoints moved to file line.c to avoid linker error with macros lined, etc.
  • frame.c: new built-in test routine (standalone testing)
  • fwimage.c: remark added
  • VC6210 added for loan systems
  • file geo.c moved to vclib. reason: function IntersectionPoints() used in function line() of vclib
  • licence.h: new licence code added
  • VCLIB splitted line.c in line.c and line0.c to allow linking without extlib.lib
  • rlcmom.c: normalization for Hu moments
  • cjpg.c: substantial speed-up for C64xx without alignment restriction ff3.c 3x3 filter: speed-up for positive coefficients / C64xx
  • benchmark.txt: stereo camera added


  • 03.03.09 removed previously unlimited validity of licences sold before 01.02.06 - customer needs to buy a new licence
  • 12.03.09 introduced image type IMAGE_CMPLX16 for some functions
  • 16.03.09 functions copy() and set() now rely on calling function check_image_type() for handling of different image types
  • 16.03.09 rot90r() now operates on all image types
  • 16.03.09 rotate90l(), rotate180() now provide a return value (standard error code)
  • 17.03.09 copy(): licence checking added (standard licence)
  • 17.03.09 function mean() now works on IMAGE_GREY16 also
  • 24.03.09 fill bytes allowed in bitmap file for fread_image() (sometimes images looked slanted)
  • 26.03.09 rot90l(), rot90r(): rotate for 16 and 32 bit, and multi-component images added
  • 26.03.09 lens_transform2() function added (lens aberration correction with simple lens model)
  • 30.03.09 file geo.c added with a several geometric functions like angle between two lines, etc.
  • 03.04.09 introduced I32 version of bestline()
  • 03.04.09 added window clipping for line(), old line() renamed to line0()
  • 03.04.09 new functions PL_line_stats() and PL_line_ending() added
  • 07.04.09 fft functions added to extension library
  • 21.04.09 subpixel edge functionality added for solar wafer library
  • 21.04.09 democode for solar wafer library added
  • 08.05.09 function StoreRGB_Centred() added (Bayer -> RGB) for same position of image and overlay
  • 08.05.09 5x5 filters: 40% speed improvement for symmetric kernels like gauss_fir()
  • 08.05.09 7x7 separable filter added (i.e. gauss_fir())
  • 08.05.09 edge(): small change when using gauss_fir() filter (see above)
  • 08.05.09 20% speed-up
  • 11.05.09 PL_line_statsF(), PL_line_bendingF() functions added
  • 14.05.09 Bayer demosaicking: first line flicker removed
  • 14.05.09 Bayer demosaicking: allow for function StoreYCBCR() (Bayer -> YCbCr)
  • 19.05.09 ff5y() overflow avoided
  • 19.05.09 edge(): speed improvements, some small bugs removed
  • 26.06.09 cross() prevent funtion from drawing outside image area
  • 30.06.09 functions Norm() and AngleP() added
  • 06.07.09 function rlcmkbit() added to make rlc out of bitplanes
  • 09.07.09 function hue_histo() and several others released for colorlib
  • 09.07.09 function EmptyKeyboardBuffer() added
  • 21.08.09 several functions for linescan camera like shading correction, fixed pattern noise removal, IIR vertical filter added to ExtensionLib. High-speed version on available on request
  • 21.08.09 linescan.c: new demo program for linescan camera, shading correction and blob analysis
  • 14.09.09 memory leak fixed in 7x7 gauss FIR filter
  • 22.12.09 edge(): memory leak removed for type <= 1
  • 22.12.09 rl_ftr3(): new function with float output for center of gravity
  • 22.12.09 VCLIB.DOC small changes in doc for function rl_ftr2()
  • 05.03.10 sgmt(): support for 4/8 labelling added


  • 23.06.08 fread_image(), image adjustment added when image variable is larger than file
  • 14.07.08 lens_transform(): new function for lens distortion correction
  • 19.08.08 bestcircle(), radius calculation now with double precision - for small circles the radius was incorrect.
  • This was due to bit cancellation when subtracting large and almost equal numbers (see tutorial about floating point numbers!)
  • 26.08.08 HoughCircleTransform(): functions for Hough Circle Transform added
  • 01.09.08 bug fix in function lu_det(). function did not compute determinant(A), but trace(A) instead
  • 09.09.08 edge(), fixed image allocation problem for lp filter type <= 1
  • 09.09.08 Hough Transform: fixed NULL pointer reference / write problem when list empty (no problem for VC4xx, but for VC2x)
  • 30.09.08 float corrcheck(image *a, image *b), added function to calculate correlation coefficient for two small images
  • 30.09.08 vc_corr3(), removed bug: ysum not initialized, additional accuracy like vc_corr2
  • 01.10.08 copy(), support for IMAGE_GREY16 and IMAGE_GREY32 added
  • 07.10.08 set(), support for IMAGE_GREY16 added


  • 19.10.07 vclib.h: changed some macros for link error fix in contour.c
  • 27.11.07 file maskframe.obj will now be included in vclib.lib instead of extlib.lib. When calling avg2(), the function tries to call the function mask_frame() which is not available for vclib-only users
  • 11.01.08 Microsoft Visual C++ 6.0 compiled VCLIB version added (internal)
  • 11.01.08 functions fread_image(), fwrite_image(): added functions to standard library for grey image storage (still color library licence required for color images)
  • 11.01.08 chisto.c: some (small) changes in color_map()
  • 11.01.08 VCLIB/DRAW/adcalc.c deleted, functions in FLIB
  • 11.01.08 imsave.c: new demo added for bitmap image storage
  • 11.01.08 sobelf, laplacef, minf, maxf functions now in FLIB
  • 11.01.08 function focus(): internal replacement for function focusf(): FL_2x2_FOC_U8P_U8P() from FLIB
  • 15.01.08 hough2.c (demo program): error handling added
  • 15.01.08 hough transform / function FindHoughLine(): bug removed with list element overflow. In case of overflow, the function could loop endlessly without returning to calling function.
  • 18.03.08 function vc_corr2(): internal accuracy improved for contrast threshold
  • 18.03.08 function contrast(): formula corrected, accuracy improved with BITN multiprecision
  • 18.03.08 Macros.h: changed DRAMDisplayMalloc() macro. Needs to be checked by Klaus Schneider and Support
  • 15.04.08 new function: GetHoughPixels() for Hough Transform support (EXTLIB)


  • 15.11.06 error in fwrite_jpeg() removed, some changes for edge detection
  • 09.01.07 hough transform / bestline option: preservation of normal vector sign from hough line parameters
  • 10.01.07 fixed serious error in function BayerToGrey(): function could not be executed
  • 11.01.07 new minMxN and maxMxN filter functions added
  • 19.01.07 fwrite_image(), fwrite_image() now also support storage of image variables of type IMAGE_GREY
  • 22.01.07 FindHoughLine(): serious bug removed, function sometimes dropped some lines
  • 02.03.07 function vc_corr3(): tested and released
  • 06.03.07 function ad_calc32() replaced by FL_adcalc_U8() (FLIB function)
  • 16.03.07 fixed chprint() for VC44XX series cameras (different Flash Eprom address)
  • 16.03.07 fwrite_image(), fwrite_image() now also support top-to-bottom bitmap image format
  • 13.06.07 speed improvement in edge detection
  • 26.06.07 bug fixed with mom_calc_ellipse_a()
  • 26.06.07 function ColorBar(): return error types changed to standard error return
  • 10.09.07 new function calc_rotation() added
  • 10.09.07 VCRT licence checking: camera model VC4002L added
  • 10.09.07 JPEG to DRAM function rd_dram(): program version without using old rpix() function
  • 18.09.07 function init_color_lut() is now in VCRT
  • 27.09.07 contour.c: added definition of functions wpix() and xorpix() otherwise linker errors occur when using contour8()
  • 27.09.07 function display_chisto() bug fixed (internal bug number # 1.3)
  • 27.09.07 whitebalance support for VC4065C added (is a VCRT function)


  • 27.09.06 bug fix for draw_line()
  • 29.09.06 image types IMAGE_GREY16 and IMAGE_GREY32 now supported by ImageAllocate()
  • 11.10.06 moments added to rlcbench.c
  • 19.10.06 line() additional (small) error correction
  • 30.10.06 display_directions(): removed flicker and speed-up
  • 30.10.06 ff3(), ff5(), ff5a(): standard error code added
  • 30.10.06 new function gauss_fir()
  • 30.10.06 new function ChangeValue() to change the value of a variable for demo software
  • 30.10.06 new function ReadKeyboard() to read character from keyboard AND/OR from stdin
  • 30.10.06 ImageAllocate() now in standard lib (was in color lib)
  • 30.10.06 new function mask_frame() that sets a frame with programmable size to a value
  • 30.10.06 avg(): mask_frame() added to delete frame pixels; avg(), avg2() standard error output
  • 30.10.06 print_image() type IMAGE_GREY32 support added
  • 30.10.06 function set(): type IMAGE_GREY32 support added
  • 30.10.06 rlc moments: ellipse half parameter calculation added (see extension lib doc)
  • 30.10.06 edge detection added, see extension lib doc
  • 30.10.06 hough transform added, see extension lib doc
  • 02.11.06 sgmt() is now a macro. function sgmt() replaced by rlc_label() with additional functionality (see extension lib doc)
  • 06.11.06 added new demo programs for edge detection (edge1.c) and hough transform (hough1.c, hough2.c)


  • 05.01.06 printout of color variables now possible with print_image()
  • 06.02.06 released chi-square bestfit functions bestline(), draw_line(), best_circle(), draw_circle()
  • 06.02.06 released new licensing scheme, user needs to call init_licence() with his licence key
  • 16.03.06 bug in vc_corr2() fixed. compiler did not use the correct conversion function from long (I40) to float. used call of _fltlif() instead
  • 16.03.06 some bugs in xshear() fixed
  • 16.03.06 new error code -100 for vc_corr0 / 2 introduced (instead of -1)
  • 16.03.06 changed name of program_ilut to program_ilut2065C, so it will not be confused with other versions of the same program
  • 16.03.06 new error checking for image size violations, functions will return ERR_FORMAT
  • 16.03.06 new function print_imgvar(image *a)
  • 19.06.06 new matrix operations available in extension lib (like inverse matrix and determinant)
  • 19.06.06 removed bug in removed bug in FL_REXC_U8P_U8P() affecting the function mirror_hor()
  • 20.06.06 rlc_moments() did not release its memory, fixed
  • 20.06.06 all pyramid() functions like pyr_max() etc. : now take dx2, dy2 from source img. of course only, if image fits in destination image
  • 20.06.06 added correct prototype for function program_ilut2065C()
  • 05.07.06 affine_image_transform(): problems with window clipping fixed (sometimes there were distorted lines in transformation result)
  • 20.07.06 new 2x2 and 3x3 gradient functions with directional output (extension library)
  • 20.07.06 non-maximum supression function for edge detection functions
  • 20.07.06 added new image type: IMAGE_VECTOR
  • 07.08.06 introduced new RLC error types
  • 07.08.06 fread_image(): problem with pitch+dx corrected, occured when size of image variable was != size of image on file
  • 07.08.06 function FL_3x3_f3f_U8P() (was f3f) now taken from FLIB (name change in VCLIB.H for macros necessary)
  • 07.08.06 function FL_5x5_f5f_U8P() (was f5f) now taken from FLIB (name change in VCLIB.H for macros necessary)
  • 07.08.06 function FL_5x5_f5f_U8P(): removed bug with negative coefficients
  • 07.08.06 introduced new recursive filter function gauss()
  • 07.08.06 FL_subf(), etc now taken from FLIB.
  • 07.08.06 ImageAllocate(), copy(), print_image(): type=IMAGE_VECTOR added
  • 07.08.06 problem with JPEG decode fixed, image quality was degraded
  • 07.08.06 FL_sub2x() now used from FLIB
  • 23.08.06 new functions get_component(), threepoint_calculate(), equalize() in extension library
  • 23.08.06 new standard error types now available in vclib.h
  • 23.08.06 speed-up and buffering for JPEG encoder: 20 msec @640x480 on VC4038 available in extension library only
  • 23.08.06 copy() now copies only the minimum of (src.dx, dst.dx) and (src.dy, dst.dy) (was dst.dx / dst.dy before) - this might save some time for not copying undefined data
  • 23.08.06 functions rlc_select() and rlc_delete() added (extension library)
  • 23.08.06 new function display_directions() for display of IMAGE_VECTOR image using colored translucent overlay (false color display)
  • 23.08.06 new library flib64.lib with C6400 compiled code (speed improvement for some functions)


  • changed definition of djpeg_b macro to::

     #define djpeg_b(img)          djpeg(img, 1L,   (int (*)())rd_binary)


    #define djpeg_b(img)          djpeg(img, 0L,   (int (*)())rd_binary)

    new definition gives correct return value = 1L when function terminates properly.