ColorSegment Class Reference

Klasse som utfører fargesegmentering på bilder. More...

#include <ColorSegment.h>

List of all members.

Public Member Functions

 ColorSegment (int _minIntensity, int _maxInhomogenity, int _maxBlurIterations, int _minArea, int _grow, int _writeToFile)
 Konstruktor.
int * getDimension (const char *filename)
 Metode som henter dimensjonen til et bilde.
Imagesegment (const char *filename, int index)
 Metode som segmenterer og returnerer et image-objekt av et bilde.
 ~ColorSegment ()
 Destruktor.

Private Attributes

int grow
 Verdi som angir om region growing skal igangsettes for å spise opp usegmenterte piksler eller ikke.
int maxBlurIterations
 Øvre grense for antall iterasjoner som glatter bildet.
int maxInhomogenity
 En terskel som angir maksimalt tillatte inhomogenitet i regioner. Dvs at pikslene P1 og P2 bare slåes sammen til en region dersom |r1-r2| + |g1-g2| + |b1-b2| <= maxInhomogenity, der r1 og r2 er den røde intensiteten til henholdsvis piksel P1 og P2 osv.
int minArea
 Nedre grense for areal med tanke på akseptable regionsegmenteringer.
int minIntensity
 En terskel som angir et minstekrav til fargeintensitet. Piksler med intensiteter (r*r+g*g+b*b) mindre enn denne terskelen vil ikke bidra i segmenteringsprosessen.
int writeToFile
 Verdi som angir om segmenteringsresultatene skal skrives ut til fil eller ikke.


Detailed Description

Klasse som utfører fargesegmentering på bilder.

Denne klassen er en mulig implementasjon av Richard Blake's fargesegmenteringsmetode. Teorien er gitt i kurset TDT4265 Datasyn ved NTNU, http://dionysus.idi.ntnu.no/~cv/COLSSEGA.html og alternativt http://rover.idi.ntnu.no/~cv/COLSSEGAA.shtml. Implementasjonen skiller seg fra det andre steget i denne teorien, ved å anvende region growing basert på gjennomsnittlige fargeverdier i regioner, istedet for bruk av kromatisitetsdiagram. Klassen lar større regioner vokse ved å "spise" opp piksler fra regioner med et areal som er under en gitt terskelverdi. "Spisingen" skjer ved å følge konturen til disse små regionene, og tildele konturpikslene til en større naboregion, som har størst likhet i gjennomsnittlig fargeverdi.

Denne koden gjør bruk av "Image Processing Library 98 (IPL98) versjon 2.20", for å lese og skrive bildeformater. Mer informasjon om dette bilioteket finnes på IPL98 sine websider, http://www.mip.sdu.dk/ipl98.

Version:
1.0
Author:
Per Gunnar Bårdsen


Constructor & Destructor Documentation

ColorSegment::ColorSegment int  _minIntensity,
int  _maxInhomogenity,
int  _maxBlurIterations,
int  _minArea,
int  _grow,
int  _writeToFile
 

Konstruktor.

Parameters:
_minIntensity En terskel som angir et minstekrav til fargeintensitet. Piksler med intensiteter (r*r+g*g+b*b) mindre enn denne terskelen vil ikke bidra i segmenteringsprosessen.
_maxInhomogenity En terskel som angir maksimalt tillatte inhomogenitet i regioner. Dvs at pikslene P1 og P2 bare slåes sammen til en region dersom |r1-r2| + |g1-g2| + |b1-b2| <= _maxInhomogenity, der r1 og r2 er den røde intensiteten til henholdsvis piksel P1 og P2 osv.
_maxBlurIterations Øvre grense for antall iterasjoner som glatter bildet.
_minArea Nedre grense for areal med tanke på akseptable regionsegmenteringer.
_grow Verdi som angir om region growing skal igangsettes for å spise opp usegmenterte piksler eller ikke.
_writeToFile Verdi som angir om segmenteringsresultatene skal skrives ut til fil eller ikke.

ColorSegment::~ColorSegment  ) 
 

Destruktor.


Member Function Documentation

int * ColorSegment::getDimension const char *  filename  ) 
 

Metode som henter dimensjonen til et bilde.

Parameters:
filename Navn på inputbilde
Returns:
Peker til en vektor av lengde 2, der første og andre rad henholdsvis inneholder bildets bredde og høyde.

Image * ColorSegment::segment const char *  filename,
int  index
 

Metode som segmenterer og returnerer et image-objekt av et bilde.

Parameters:
filename Navn på bilde som skal segmenteres
index Lengde på stien (path) hvor det aktuelle bildet ligger lagret
Returns:
Image objekt av bildet.


Member Data Documentation

int ColorSegment::grow [private]
 

Verdi som angir om region growing skal igangsettes for å spise opp usegmenterte piksler eller ikke.

int ColorSegment::maxBlurIterations [private]
 

Øvre grense for antall iterasjoner som glatter bildet.

int ColorSegment::maxInhomogenity [private]
 

En terskel som angir maksimalt tillatte inhomogenitet i regioner. Dvs at pikslene P1 og P2 bare slåes sammen til en region dersom |r1-r2| + |g1-g2| + |b1-b2| <= maxInhomogenity, der r1 og r2 er den røde intensiteten til henholdsvis piksel P1 og P2 osv.

int ColorSegment::minArea [private]
 

Nedre grense for areal med tanke på akseptable regionsegmenteringer.

int ColorSegment::minIntensity [private]
 

En terskel som angir et minstekrav til fargeintensitet. Piksler med intensiteter (r*r+g*g+b*b) mindre enn denne terskelen vil ikke bidra i segmenteringsprosessen.

int ColorSegment::writeToFile [private]
 

Verdi som angir om segmenteringsresultatene skal skrives ut til fil eller ikke.


The documentation for this class was generated from the following files:
Generated on Sun May 21 10:54:05 2006 for Automatisk visuelt inspeksjonssytem by  doxygen 1.4.6-NO