(English? See below...)

Bandiera italiana SMALLLista e breve descrizione delle funzioni di Image Processing disponibili in libreria.

Una lista più aggiornata e completa è scaricabile, insieme a tutti i manuali tecnici QUI.

Non siete programmatori C? Se non avete tempo per realizzare un'applicazione in C, potete utilizzare l'ambiente di sviluppo visuale VisionTools: un ambiente grafico col quale è possibile impostare le funzionalità della telecamera per applicazioni standalone senza realizzare un programma, creando un diagramma di flusso di tools predefiniti!

Sia VISUAL che terze parti propongono librerie e funzioni addizionali (pattern matching, OCR, lettura di codici a barre e 2D, gestione di menu interattivi a finestre, librerie ottimizzte, utitlities etc.): sono qui!

Vai a Overview!

libreria elaborazione immaginiHere is a list of the available image processing libraries; additional functions (pattern matching, OCR, interactive windowed menus and the like) are also available as options: please ask!

All tech doc and a more comprehensive list of available functions can be downloaded HERE.

Not a C Programmer? Never mind! Use VisionTool, a visual, interactive environment that can be used to configure a real applications without writing any code!

Or, try the tools and utilites from developers to developers, available here!

After perusing the library, go back to English link!

Overview of the library functions

  

Utilities                                        (Back to top)

rd32 Read a 32-bit long from DRAM

wr32 Write a 32-bit long to DRAM

xorpix XOR a byte in DRAM

xorovl XOR an overlay bit

sprint Formatted output of text and variables to a string

chprint Output a string to an image variable

chprint_ov Output a string to an Output a string to an image variable/overlay version

vcsetup Initialize memory management

vcmalloc Allocate memory in the DMEM

vcfree Release memory

prtfree Output free memory segments

getvar Read system variable

setvar Write system variable

getstptr Read stack pointer

 

Functions for processing gray images                                        (Back to top)

 

img2 link two link two image variables

imgf any 3 x 3 operator of an any 3 x 3 operator of an image variable

ff3 3 x 3 filter with any mask

set set set image variable to a constant value

projh horizontal projection of an horizontal projection of an image variable

projv vertical projection of an image variable

copy copy an image variable

look look-up table function

histo histogram of an image variable

focus calculate the focal value of an calculate the focal value of an image variable

 

Functions for processing binary images in run length code                        (Back to top)

 

rlcmk create run length code for an image variable

rlcout output output run length code

rlc2 logical link of two images in logical link of two images in run length code

rlc_area calculate area in calculate area in run length code

rlc_feature determine feature in unlabeled determine feature in unlabeled RLC

sgmt segment segment run length code (object labeling)

dispobj output labeled output labeled run length code

rlc_cut cut individual objects out of the labeled cut individual objects out of the labeled RLC

chkrlc check RLC

rl_area2 calculate object area in the labeled calculate object area in the labeled RLC

rl_ftr2 calculate object features in the labeled calculate object features in the labeled RLC

 

area: object area

x_center: x-coordinate of the center of gravity

y_center: y-coordinate of the center of gravity

x_min: smallest x-coordinate

x_max: largest x-coordinate

y_min: smallest y-coordinate

y_max: largest y-coordinate

x_lst: last x-coordinate in the last line

color: object color (0 = black, -1 = white)

 

Functions for processing pixel lists                                        (Back to top)

 

ad_calc address calculation for an array with x/y-coordinates

wp_list write video memory/access via address list

wp_set write video memory with constant/access via address list

wp_xor XOR video memory with constant/access via address list

wo_set write overlay with constant/access via address list

wo_xor XOR overlay with constant /access via address list

rp_list read video meory/access via address list

wo_list write overlay memory/access via address list

ro_list read video memory/access via address list

 

Graphics functions                                        (Back to top)

 

linexy basic line creation routine

line draw line

frame draw frame

dframe draw double-width frame

marker draw marker

dmarker draw double-width marker

 

Basic functions for experienced programmers                                        (Back to top)

Functions for processing gray-scale images/image windows

 

histof basic histogram routine

focusf basic focusing routine

lookf basic look-up table routine

add2f basic image addition routine

sub2f basic image subtraction routine

max2f basic image maximum routine

min2f basic image minimum routine

and2f basic routine for ANDing the image

or2f basic routine for ORing the image

xor2f basic routine for XORing the image

addlf basic line sum routine

sobelf basic Sobel filter routine

laplacef basic Laplace filter routine

maxf basic maximum filter routine

minf basic minimum filter routine

f3f basic 3x3 filter routine

 

Functions for processing run length code                                        (Back to top)

 

rlcmkf basic routine for creating basic routine for creating run length code

rlcoutf basic routine for outputting basic routine for outputting run length code

rlc_andf basic routine for ANDing basic routine for ANDing run length code

rlc_orf basic routine for ORing basic routine for ORing run length code

rlc_xorf basic routine for XORing basic routine for XORing run length code

rlc_xdil horizontal dilation in the horizontal dilation in the run length code

r_area determination of area in the determination of area in the RLC

x_center determination of area and of the x-center in the determination of area and of the x-center in the RLC

y_center determination of the y-center in the determination of the y-center in the RLC

r_max determination of the extreme values in the determination of the extreme values in the RLC

sgm_init initialization of object labeling

rlc_sgmt basic routine for object labeling

rl_area determination of area in the labeled determination of area in the labeled RLC

rl_xyc determination of area and center in the labeled determination of area and center in the labeled RLC

rl_mnmx determination of bounding box in the labeled determination of bounding box in the labeled RLC

rl_col determination of the object color in the labeled determination of the object color in the labeled RLC

chgf basic routine for character generation

 

List of library functionsList of library functions                                        (Back to top)

 

Type Legend: A: Assembly function C: C function M: Macro

 

Name /    Type /     Description

long rd32(long addr) A read 32-bit long from DRAM

void wr32(long value, long addr) A write 32-bit long to DRAM

void xorpix (int value, long addr) A XOR a byte in DRAM

void xorovl (int value, long addr) A XOR an overlay bit

void sprint(char *s, char *format, ...) C formatted string output

void chprint(char *s, image *a, C Write a string to image variable

int cx, int cy)

void chprint_ov(char *s, image *a, C Write a string to overlay

int cx, int cy)

void vcsetup(void) A Initialize memory management

void *vcmalloc(unsigned int size) A Request heap memory

void vcfree(void *ptr) A Release heap memory

void prtfree(void) C Print free heap memory

int getvar(var) M Read system variable

setvar(var, int x) M Write system variable

int getstptr(void) A Read stack pointer

void img2(image *a, image *b, image *c, C Link 2 image variables

void (*func)(),int q)

add2(image *a, image *b, M Add two image variables

image *c, int sh)

sub2(image *a, image *b, image *c) M Subtract two image variables

max2(image *a, image *b, image *c) M Maximum of two image variables

min2(image *a, image *b, image *c) M Minimum of two image variables

and2(image *a, image *b, image *c) M AND two image variables

or2 (image *a, image *b, image *c) M OR two image variables

void imgf(image *a, C any 3x3 operator

image *b, void *func())

sobel(image *a, image *b) M Sobel operator

laplace(image *a, image *b) M Laplace operator

mx(image *a, image *b) M Maximum operator

mn(image *a, image *b) M Minimum operator

void set(image *a, int x) C Write constant to image variable

void projh(image *a, C Horizontal projection

unsigned int result[dy])

void projv(image *a, C Vertical projection

unsigned int result[dx])

void copy(image *a, image *b) C Copy image variable

void look(image *a, image *b, C Look-up table

int table[256])

void histo(image *a, long hist[256]) C Histogram

long rlcmk(image *a, int thr, C Create RLC

long rlc, long size)

int rlcout(image *a, long rlc, C Output RLC

int dark, int light)

long rlc2(long rlca, long rlcb, C Link any 2 RLCs

long dest, int * (*func)() )

rlcand(long a, long b, long dest) M AND RLCs

rlcor(long a, long b, long dest) M OR RLCs

rlcxor(long a, long b, long dest) M XOR RLCs

long rlc_area(long rlc, int color) M Calculate area in RLC

void rlc_feature(feature *f, C Determine features, unlabeled RLC

long rlc, int color)

long sgmt(long rlc, long slc) C Label RLC

int dispobj(image *a, long rlc) C Output labeled RLC

long rlc_cut(long src, long dest, C Cut objects from RLC

int objnum)

int chkrlc(long rlc) C Check RLC

int rl_area2(long rlc, long *area, C Object areas in labeled RLC

int n)

int rl_ftr2(long rlc, ftr *f, int n) C Object features in labeled RLC

void ad_calc(int count, int *xy, A Address list from x/y-coordinates

long ad_list[], long start,

int pitch)

void wp_list(int count, A Write address/value list to video mem.

long ad_list[], int v_list[])

void wp_set(int count, A Write constant/address list

long ad_list[], int value)

void wp_xor(int count, A XOR constant/address list

long ad_list[], int value)

void wo_set(int count, A Write constant (OVL)/address list

long ad_list[], int value)

void wo_xor(int count, A XOR constant (OVL)/address list

long ad_list[], int value)

void rp_list(int count, A Read video memory/address list

long ad_list[], int v_list[])

void wo_list(int count, A Write address/value list to overlay

long ad_list[], int v_list[])

void ro_list(int count, A Read overlay/address list

long ad_list[], int v_list[])

int linexy(int dx, int dy, int *xy) C Basic line creation routine

void line(image *a, int x1, int y1, C Draw line

int x2, int y2, int col,

void (*func)() )

lined(image *a, int x1, int y1, M Draw line in video memory

int x2, int y2, col)

linex(image *a, int x1, int y1, M Draw line in video memory/XOR

int x2, int y2, col)

lineo(image *a, int x1, int y1, M Draw line in overlay

int x2, int y2)

linez(image *a, int x1, int y1, M Draw line in overlay/XOR

int x2, int y2)

void frame(image *a, int col, C Draw frame

void (*func)())

framed(image *a, col) M Draw frame in video memory

framex(image *a, col) M Draw frame in video memory/XOR

frameo(image *a) M Draw frame in overlay

framez(image *a) M Draw frame in overlay/XOR

void dframe(image *a, int col, C Draw wide frame

void (*func)())

dframed(image *a, int col) M Draw wide frame in video memory

dframex(image *a, int col) M Draw wide frame in vid. memory/XOR

dframeo(image *a) M Draw wide frame in overlay

dframez(image *a) M Draw wide frame in overlay/XOR

void marker(image *a, int col, C Draw marker

void (*func)())

markerd(image *a, col) M Draw marker in video memory

markerx(image *a, col) M Draw marker in video memory/XOR

markero(image *a, int col) M Draw marker in overlay

markerz(image *a, int col) M Marker, overlay/XOR

void dmarker(image *a, int col, C Draw wide marker

void (*func)())

dmarkerd(image *a, int col) M Draw wide marker in video memory

dmarkerx(image *a, int col) M Draw wide marker in video mem./XOR

dmarkero(image *a, int col) M Draw wide marker in overlay

dmarkerz(image *a, int col) M Wide marker, overlay/XOR

void histof(int count, int *p, A Basic histogram routine

long hist[256])

long focusf(int count, int *p1, A Basic focus routine

int *p2, int sh)

void lookf(int count, int *p, A Basic look-up table routine

int table[256])

void add2f(int count, int *p1, A Basic image addition routine

int *p2, int *pr, int sh)

void sub2f(int count, int *p1, A Basic image subtraction routine

int *p2, int *pr)

void max2f(int count, int *p1, A Basic image maximum routine

int *p2, int *pr)

void min2f(int count, int *p1, A Basic image minimum routine

int *p2, int *pr)

void and2f(int count, int *p1, A Basic image AND routine

int *p2, int *pr)

void or2f(int count, int *p1, A Basic image OR routine

int *p2, int *pr)

void xor2f(int count, int *p1, A Basic image XOR routine

int *p2, int *pr)

int addlf(int count, int *p) A Basic line sum routine

void sobelf(int count,int *p1, A Basic Sobel filter routine

int *p2,int *p3,int *pr)

void laplacef(int count,int *p1, A Basic Laplace filter routine

int *p2,int *p3,int *pr)

void maxf(int count,int *p1, A Basic maximum filter routine

int *p2,int *p3,int *pr)

void minf(int count,int *p1, A Basic minimum filter routine

int *p2,int *p3,int *pr)

void f3f(int count,int *p1, A Basic 3x3 filter routine

int *p2, int *p3, int *pr,

static int pm c[3][3], int sh)

int *rlcmkf(int dx, int thr, A Basic RLC creation routine

int *source, int *dest)

void rlcoutf(int *source, int *dest, A Basic RLC output routine

int dx, int dark, int light)

int *rlc_andf(int *p1, int *p2, A Basic RLC AND routine

int *pr, int eol)

int *rlc_orf(int *p1, int *p2, A Basic RLC OR routine

int *pr, int eol)

int *rlc_xorf(int *p1, int *p2, A Basic RLC XOR routine

int *pr, int eol)

int *rlc_xdil(int *p1, int *pr, int eol) A Basic X-dilation/RLC routine

int r_area(int *p, int dx, int color) A Basic RLC area calculation routine

void x_center(int *p, int dx, A Basic x-center RLC routine

int color, feature *f)

void y_center(int *p, int dx, A Basic y-center RLC routine

int color, feature *f, int line)

void r_max(int *p, int dx, A Basic extreme values RLC routine

int color, feature *f, int line)

int *sgm_init(rlc_desc *x) A Initialization of object labeling

int *rlc_sgmt(rlc_desc *x) A Basic object labeling routine

void chgf(int *p,int dx, A Basic character generation routine

int ch_line, int bgnd, int fgnd)