#include <ColorSegment.h>
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. | |
Image * | segment (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. |
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.
|
Konstruktor.
|
|
Destruktor.
|
|
Metode som henter dimensjonen til et bilde.
|
|
Metode som segmenterer og returnerer et image-objekt av et bilde.
|
|
Verdi som angir om region growing skal igangsettes for å spise opp usegmenterte piksler eller ikke.
|
|
Øvre grense for antall iterasjoner som glatter bildet.
|
|
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.
|
|
Nedre grense for areal med tanke på akseptable regionsegmenteringer.
|
|
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.
|
|
Verdi som angir om segmenteringsresultatene skal skrives ut til fil eller ikke.
|