You are on page 1of 60

Bi tp ln x l nh

( Nhm tin 2-K49 : Hong Tun Khnh & Hong Thanh Tng )

Gii thiu qua ti Phn I : Kin thc c bn Phn II : p dng mt s thut ton Phn III : ng dng trong h thng nhn dng mu

Gii thiu qua ti


ti
23: Tm hiu v kho st ng dng ca k thut lm mnh i tng nh nh phn
Tun Khnh Thanh Tng

Gio vin hng dn: Nguyn Th Hong Lan Nhm sinh vin thc hin : Hong Hong

Li ni u X l nh l mt mn hc c rt nhiu ng dng trong thc t. c th vn dng cc kin thc c hc trn lp, chng em phi hon thnh mt project nht nh. Chng em chn ti "Tm hiu v kho st ng dng ca k thut lm mnh i tng nh nh phn" v thy y l mt ti rt hay, c bit c lin quan n vn phc hi v nhn dng, mt k thut rt c quan tm by gi. Chnh nh qu trnh n lc lm bi tp ln, chng em xy dng c nhng m un v tch lu c nhng kinh nghim ht sc qu bu. V v vy nn do nhn thy s lin quan, h tr ln nhau gia cc ti nn chng em xin c pht trin thm mt s tnh nng ca chng trnh bng cch tm hiu v gii quyt thm mt s ti khc. Nh vy m kh nng lm vic theo nhm ca chng em tin b r rt. Do thi gian gp rt v sp n thi k n thi, v cng cha c c kinh nghim cng nh ti liu y , nn chng em cha th hon thnh mc ch ra, tuy nhin cng thu c rt nhiu thng li ban u. Chng em xin cm n c tn tnh hng dn v dnh thi gian c bn bo co ny. Qua vic lm bi tp ln, chng em cm thy yu mn hc ny hn v quyt nh s i su tm hiu v lnh vc ny mt ngy khng xa, khi c iu kin.
H Ni, ngy 15 thng 4 nm 2008

Nhm sinh vin Hong Tun Khnh Hong Thanh Tng

Phn cng cng vic: V mc ch l trau di kin thc, chng em lun h tr v phn cng cng vic theo tiu tr c 2 cng pht trin. Tc l em v bn Tng cng tm hiu v ci t thut ton bng C, C++ hoc Java, sau tm hiu thm vic p dng vo thc t qua kt qu ca chng trnh. Nhng nu phn cng chi tit th: Hong Tun Khnh: Tm hiu k thut lm mnh nh nh phn, phn tch v tm hiu gii thut lm mnh Lu-Wang c pht trin t thut ton Zhang-Suen, ng dng ca k thut lm mnh. Hong Thanh Tng: Tm hiu k thut lm mnh nh nh phn, gii thut lm mnh song song bng gii thut Lu-Wang. C th ho bng chng trnh. Ngoi ra chng em cn tm hiu thm mt s vn khc c nu trong bi vit ny. C th ho chng trnh: Chng trnh cui cng c quyt nh vit bng Java, giao din n gin d dng, v chy thnh cng mt s gii thut ct yu. Chng trnh c cc tnh nng nh d bin, lm mnh nh nh phn, biu histogram, bin i nh mu v xm, bin i furier v cosin ri rc, ngoi ra ang pht trin thm b cng c cho php v v thao tc trc tip ln nh nh cc php ton v tr trn ma trn, nhng hin ti chng em cha c thi gian thc hin. Chng em xin gii thiu qua giao din ca chng trnh :

Kin thc c bn
X l nh l mn khoa hc cn mi m nhng ng dng kh nhiu trong thc t, c bit l h thng nhn dng. Mt h thng x l nh c bn thc hin vic thu nhn nh + phn tch nh + trch chn c tnh + lu tr phc v cho cc mc ch khc nhau. V nh trong t nhin c lng thng tin rt ln, do ta phi bit lu tr sao cho tn t dung lng m vn m bo nh lu tr c nhng c tnh c bn nht. Mun c c nh, trc tin i hi bn phi c kin thc cn bn v C, v cch t chc file. Bn cn phi bit c cc header bit dng nh, c cc pixel nh v chuyn i chng thnh d liu thch hp thc hin vic x l. Chng hn vic c nh mu bn phi bit i mu ra mc xm v sau khi thc hin x l bn i ngc li, iu ny cn mt s phn ngng chng hn nh ma trn dither. Hay vic phng to thu nh nh ch n thun l ta chn thm hng v ct hoc b i theo cch ni suy, v th khi phng to ht c nh bn thy nhng vung c duy nht mt mu, l v cc im nh ging nhau tp hp li do php chn. V d mt nh :
1 2 3 4 5 6 7 8 9

phng to thnh
1 1 4 4 7 7 1 1 4 4 7 7 2 2 5 5 8 8 2 2 5 5 8 8 3 3 6 6 9 9 3 3 6 6 9 9

c th hiu c bi vit ny i hi bn phi c mt kin thc c bn v x l nh trong mn hc ny, nu bit thm v ho th cng tt. Phn u tin ny s gii thiu qua v cc kin thc c bn nht, v thi gian c hn nn ch mang tnh gii thiu, bn xem li sch bit thm. Bin i nh l cch a nh t min A sang min B, sao cho c th a ngc li t B sang A, a ngc li l khi phc nh. Cc bin i hay dng l bin i furier chuyn sang min tn s hoc l kl lm gim khng gian nh trch chn c tnh qua vic lm cc tiu bnh phng (gim th nguyn). Thng thng, n gin ta ch cn hiu 2 nh l u v v, php bin i l A th : u = A*t v A* v= A u At vi At l ma trn chuyn v, cn A* l ma trn i du phn phc ca A

Trch chn c tnh Ly bin hoc vng nh phc v cho cc mc ch nhn dng, trc khi trch chn c tnh cn ci thin nh, l cc php x l nh lc, tng tng phn... Lu tr nh c lu tr di cc mng, khi hin th th dng thut ton ct ta hin vng nh xut hin, gii thut cohen dng 4 bt t phi sang tri m ho cho v tr tri phi di trn. gim dung lng thng dng cch lu tr di dng nn, chng hn nh dng gif cho vic m ho khi lng mu ln, jpeg cho ho k xo, v nn khng mt thng tin nh huffman...

p dng mt s thut ton


Bin i t nh a mc xm sang nh mu Bin i Cosin ri rc Biu xm Histogram v co gin biu lm tng tng phn nh: Php lc s ci thin nh Pht hin v tch bin ng dng ca vic pht hin bin nh K thut lc Wiener Lm mnh bin cho nh nh phn Nhn dng nh Nn nh Trc tin gi s xy dng c cc lp thao tc vo ra cho chng trnh nh c file nh, da vo phn header cng bng gii m km theo ly ni dung nh, cc phng thc v nh..., v mc ch l nu cch gii quyt vn , m phng thut ton nn chng em khng nu cc lp ph ny, tp trung gii thiu nhng lp chnh.

Bin i t nh a mc xm sang nh mu

K thut ny cn gi l k thut LUT (look up table) hin mt nh mu t nh a mc xm bn phi c mt ngng quy c trong bng no , v d vi nh 2 mu bn c th dng ngng nh sau: nu mc xm ln hn 127 cho hin thnh mu trng, nu nh hn th hin mu en Nu bn mun c 4 mu th lm nh sau : chia lm 4 ngng 0-64-128-192-255 ta c cc mu trong bng tra nh sau:
ngng 1 2 3 4 mc xm en xm m xm nht trng mu en xanh vng

Mun c nhiu mu hn bn phi phn chi tit hn. hiu thm v mu bn hy nghin cu phn b v tnh bo ho. Chng hn phn b ca RGB l CYM, cho thm mu trng vo mt mu no th n s nhanh chng bo ho... Cn nu mun bin nh mu thnh nh a mc xm phc v cho vic x l nh bn lm nh sau: mt mu 32 bit chia lm 8 cm hexa, bn dng cc mt n v php dch bit tnh gi tr 2 cm mt tng ng vi cc mu, sau ly gi tr trung bnh chuyn sang mc xm. Lp ny c th thc hin nh sau:
//ly mu t pixel public class RGB { public static int getRed(int pix){ return (pix&0x00ff0000)>>16; } //ly mu lc t pixel public static int getGreen(int pix){ return (pix&0x0000ff00)>>8; } //ly mu lam t pixel public static int getBlue(int pix){ return pix&0x000000ff; } //tnh trung bnh public static int getColorAverage(int pixel) { int red = pixel & 0x00ff0000; int green = pixel & 0x0000ff00; int blue = pixel & 0x000000ff; return ((red >> 16) + (green >> 8) + blue) / 3; }

//ly c 3 mu public static int[] getColorRGB(int pixel[]) { int red; int green; for (int i=0;i<pixel.length;i++){ pixel[i]=pixel[i]&0x000000ff; red=pixel[i]; green=pixel[i]; pixel[i]=pixel[i]|(red<<16)|(green<<8)|0xff000000; } return pixel; } }

Bin i Cosin ri rc
Mc ch ca bin i l ta chuyn sang mt khng gian trc giao khc, v nh c th c biu din qua cc nh c s ca khng gian ny, ging nh l cc vector n v biu din mt vector trong h trc to trc giao. Vic tnh nhanh bin i thc cht l tnh bin i kch c n bng mt bin i kch c 2n do tnh i xng ca n. Chng hn nh cch tm ma trn bin i furier unitar trong sch dy, y l mt lp cho php bn nn nh nh bin i Cosin ri rc: //lp DCT decrete cosin transform
public class CompressDCT extends Component { public CompressDCT(){ int [][]F=new int [DrawImage.width][DrawImage.height]; //DrawImage l i tng ma trn nh for (int i=0;i<DrawImage.height;i++){ for (int k=0;k<DrawImage.width;k++){ F[k][i]=RGB.getColorAverage(DrawImage.pixels[i*DrawImage.width+k]); } } F=compute(F); //phng thc tnh ra bin i for (int i=0;i<DrawImage.height;i++){ for (int k=0;k<DrawImage.width;k++){ DrawImage.pixels[i*DrawImage.width+k]=F[k][i]; } } ProcessImageView.image=createImage (new MemoryImageSource(DrawImage.width,DrawImage.height,DrawImage.pixels,0,D rawImage.width)); } public int[][] compute(int f[][]){

double pi=Math.PI; double Cu=0; double Cv=0; int Nx=DrawImage.width; int Ny=DrawImage.height; int [][]F=new int[Nx][Ny]; double tg = 0; for (int u=0;u<Nx;u++){ for (int v=0;v<Ny;v++){ for (int x=0;x<Nx;x++){ for (int y=0;y<Ny;y++) { tg= tg + f[x][y]*Math.cos((2*x+1)*u*pi/2/Nx) * Math.cos((2*y+1)*v*pi/2/Ny); } } if (u==0)Cu=1/Math.sqrt(Nx); else Cu=1; if (v==0)Cv=1/Math.sqrt(Ny); else Cv=1; F[u][v]=(int)(4/(Nx+Ny)*Cu*Cv*tg); System.out.println(F[u][v]); } } return F; } public int[] formular(int [] x){ int N=x.length; float [] X=new float[N]; float tg=0; for (int k=0;k<N;k++){ for (int n=0;n<N;n++){ if (k==0) tg=(float) (tg +1/Math.sqrt(2)* x[n] * Math.cos((2 * n + 1) / (2 * N))); else tg=(float) (tg + x[n] * Math.cos((2 * n + 1) / (2 * N))); } X[k]=(float) (Math.sqrt(2 / N) * tg); } tg=0; for (int n=0;n<N;n++ ){ for (int k=0;k<N;k++){ if (k==0) tg=(float) (tg +1/Math.sqrt(2)* X[k] * Math.cos((2*n+1)/2/N)); else tg=(float) (tg + X[k] * Math.cos((2*n+1)/2/N)); } x[n]=(int) (Math.sqrt(2 / N) + tg); } return x; } }

Biu xm Histogram v co gin biu lm tng tng phn nh:

Vic tnh ra biu histogram thc cht l tnh tn xut xut hin cc im c mc xm t 0 n mt ngng no , ti a l 255. Lp tnh Histogram nh sau:

public class Histogram extends JPanel { float [] pix; float scale; float max=0; Label lab; public Histogram(float [] pix,Label lab){ //contructor this.lab=lab; setBackground(Color.white); this.pix=pix; for (int i=0 ;i<256;i++){ if (max<pix[i])max=pix[i]; } scale=100/max; paintImmediately(0,0,150,260); addMouseMotionListener(new MouseMoved()); } public float getMax(){ return max; } //phng thc v ra public void paintComponent(Graphics g){ g.drawLine(19,40+(int)(max*scale),19,40); Graphics2D g2D=(Graphics2D) g; g2D.setPaint(Color.red); for (int i=0;i<256;i++){ g2D.drawLine(20+i,40+(int)(max*scale),20+i,40+(int)(max*scalepix[i]*scale)); if (pix[i]!=0) System.out.println("i="+i+" "+pix[i]);

// s kin khi di chut

class MouseMoved extends java.awt.event.MouseMotionAdapter{ public void mouseMoved(MouseEvent event){ if (event.getX()>19 && event.getX()<256+20){ lab.setText("Point:"+(event.getX()-20)+" Value:"+pix[event.getX()-20]); } } }

bn mun hiu ng xy ra khi co gin biu th c th dng mt thanh slider gn s kin cho n.. Lp co gin biu xm
public class ExpandHistogram { public int[] transform(int [] pixel,float lmax,float lmin){ int max=0; int min=255; for (int i=0 ;i<pixel.length;i++){ pixel[i]=RGB.getColorAverage(pixel[i]); if (pixel[i]>max)max=pixel[i]; if (pixel[i]<min)min=pixel[i]; } float tg=(lmax-lmin)/(max-min); float tg1=(lmin*max-lmax*min)/(max-min); for (int i=0 ;i<pixel.length;i++){ pixel[i]=(int)(tg*pixel[i]+tg1); } pixel=RGB.getColorRGB(pixel); return pixel; } }

Php lc s ci thin nh
Mt bc nh c lc thng thp :

Phng php lc rt n gin, l bn xp chng ma trn lc vo nh, ch xp trng trung tm, cc ma trn lc c th l thng cao, thng thp, hoc trung v. Gi s ma trn lc l h nhn c t vic c mt file ngoi txt.
short result[][]=new short [DrawImage.height][DrawImage.width]; short min=Short.MAX_VALUE; short max=Short.MIN_VALUE; int size=Convolution.size; for (int i=1;i<DrawImage.height-1;i++){ for (int j=1;j<DrawImage.width-1;j++){ result[i][j]=0; for(int I=-size; I<=size; I++) for(int J=-size; J<=size; J++) result[i][j]+=(short)((F[i+I][j+J]*h[I+1][J+1])); result[i][j]=(short)(result[i][j]/fact); if (result[i][j]<min) min=result[i][j]; if (result[i][j]>max) max=result[i][j]; } } if (min<0) { if (max-min<256){//khi gia tri chua vuot khoang 255 for (int i=1;i<DrawImage.height-1;i++){ for (int k=1;k<DrawImage.width-1;k++){ DrawImage.pixels[i*DrawImage.width+k]=result[i][k] - min; } } }else {//ca max va min khong chap nhan duoc short tg=(short) (max - min); for (int i=1;i<DrawImage.height-1;i++){ for (int k=1;k<DrawImage.width-1;k++){

10

DrawImage.pixels[i*DrawImage.width+k]= (result[i][k] - min) * 255 / tg; // if ( DrawImage.pixels[i*DrawImage.width+k]>=255) va++; } } } }else if (max-min>255) { for (int i=1;i<DrawImage.height-1;i++){ for (int k=1;k<DrawImage.width-1;k++){ DrawImage.pixels[i*DrawImage.width+k]=result[i][k]*255/max; } } }else if (max>225) { short tg=(short) (max - 255); for (int i=1;i<DrawImage.height-1;i++){ for (int k=1;k<DrawImage.width-1;k++){ DrawImage.pixels[i*DrawImage.width+k]=result[i][k]tg; } } } Cui cng sau khi lc xong bn hin th li nh bng cch ly mu v gi phng thc v li nh : DrawImage.pixels=RGB.getColorRGB(DrawImage.pixels); ProcessImageView.image=createImage(new MemoryImageSource(DrawImage.width,DrawImage.height,DrawImage.pixels,0,D rawImage.width)); ProcessImageView.drawImage.paintImage();

Pht hin v tch bin


Sobel Method Laplacian Method Gii thut vit bng Java: ********************************************************* nh gc :

11

nh tch bin theo phng php Sobel:

nh tch bin theo phng php Laplacian:

c tnh bin nh l mt vn c bn v rt quan trng trong vn x l nh. Cnh ca nh l nhng vng nh vi tng phn rt r - mt t bin v cng sng t im nh ny n im nh khc. D bin nh c mt ngha quan trng trong vic lm gim s lng d liu v lc i nhng thng tin d tha, trong khi gi li nhng c tnh cu trc quan trng ca bc nh. C nhiu cch thc hin vn ny. Tuy nhin cc phng php khc nhau c th nhm vo 2 mc chnh, gradient v Laplacian. Phng php d bin theo gradient thc hin bng cch d tm im cc i v cc tiu t bc nh ngun. Phng php Laplacian tm kim cc im 0 thng qua bc nh th 2 bin i t nh gc tm ra cnh. Mt cnh l ng mt chiu dng b dc v tnh ton t bc nh gc c th lm ni r v tr ca n. Gi s chng ta c tn hiu nh sau, vi mt cnh c ch ra do s bin thin t ngt ca cng sng nh hnh di y:

12

Nu chng ta ly gradient ca tn hiu ny, chng ta c th hnh v nh sau:

R rng th cho ta thy mt im cc i gia cnh trong tn hiu ngun. Phng php nh v mt cnh gi l c tnh lc gradient rt thng dng trong vic d cnh v trong c phng php lc Sobel. Mt v tr im nh c hin r trong mt v tr cnh nu gi tr gradient ca n vt mt ngng no . Nh vy, im nm trn cnh s c gi tr cng ln hn cc im khc xung quanh n. V th nu mt ngng c tm ra, bn c th so snh gradient vi ngng ny v d ra cnh bt c im no vt ngng. Hn th, khi mc sng ca ngun l cc i, th mc ca n trong bc nh dn xut l cc tiu. V kt qu l, vic tm ra cnh ca nh tc l nh v nhng im c cng l 0 trong bc nh th 2 c dn xut. Phng php ny gi l Laplacian v tn hiu ca n c dng :

Sobel : Da vo l thuyt o hm mt chiu, l thuyt ny c th c m rng ra cho 2 chiu, cng nh vic tnh xp x n p dng cho mt bc nh 2 chiu. Ton t Sobel thc hin mt gradient khng gian 2 chiu tnh ton mt bc nh. in hnh l n s dng mt

13

gi tr tuyt i xp x cho mi im nh t mt bc nh a mc xm u vo. Phng php d s dng mt mt n tch chp kch thc 3x3, mt ci l tnh theo hng x v mt ci tnh theo hng y. Mt n trt trn ma trn nh v tnh ra gi tr tng ng mi im trung tm. Mt n Sobel cho di y:

Cng thc tnh gradient l :

V ln ca gradient c th c tnh xp x :

|G| = |Gx| + |Gy|


Sau y l ton b chng trnh gii thut c vit bng C hoc c th dng C++ cng n.
#include #include #include #include (stdio.h) (stdlib.h) (math.h) (alloc.h)

/*-------STRUCTURES---------*/ typedef struct {int rows; int cols; unsigned char* data;} sImage; /*-------PROTOTYPES---------*/ long getImageInfo(FILE*, long, int); void copyImageInfo(FILE* inputFile, FILE* outputFile); void copyColorTable(FILE* inputFile, FILE* outputFile, int nColors); int main(int argc, char* argv[]) { FILE *bmpInput, *bmpOutput; sImage originalImage; sImage edgeImage;

14

unsigned int long int unsigned unsigned int int unsigned unsigned

int

long long

char int

X, Y; I, J; sumX, sumY; nColors, SUM; vectorSize; fileSize; GX[3][3]; GY[3][3]; *pChar, someChar; row, col;

someChar = '0'; pChar = &someChar; /* 3x3 GX Sobel mask. Ref: www.cee.hw.ac.uk/hipr/html/Sobel.html */ GX[0][0] = -1; GX[0][1] = 0; GX[0][2] = 1; GX[1][0] = -2; GX[1][1] = 0; GX[1][2] = 2; GX[2][0] = -1; GX[2][1] = 0; GX[2][2] = 1; /* 3x3 GY Sobel mask. Ref: www.cee.hw.ac.uk/hipr/html/Sobel.html */ GY[0][0] = 1; GY[0][1] = 2; GY[0][2] = 1; GY[1][0] = 0; GY[1][1] = 0; GY[1][2] = 0; GY[2][0] = -1; GY[2][1] = -2; GY[2][2] = -1; if(argc < 2) { printf("Usage: %s bmpInput.bmp\n", argv[0]); exit(0); }; printf("Reading filename %s\n", argv[1]); /*-------DECLARE INPUT & OUTPUT FILES-------*/ bmpInput = fopen(argv[1], "rb"); bmpOutput = fopen("edgeSob.bmp", "wb"); /*---SET POINTER TO BEGINNING OF FILE----*/ fseek(bmpInput, 0L, SEEK_END); /*-------GET INPUT BMP DATA--------*/ fileSize = getImageInfo(bmpInput, 2, 4); originalImage.cols = (int)getImageInfo(bmpInput, 18, 4); originalImage.rows = (int)getImageInfo(bmpInput, 22, 4); edgeImage.rows = originalImage.rows; edgeImage.cols = originalImage.cols; /*--------PRINT DATA TO SCREEN----------*/ printf("Width: %d\n", originalImage.cols); printf("Height: %d\n", originalImage.rows); printf("File size: %lu\n", fileSize); nColors = (int)getImageInfo(bmpInput, 46, 4); printf("nColors: %d\n", nColors); /*------ALLOCATE MEMORY FOR FILES--------*/ vectorSize = fileSize - (14+40+4*nColors); printf("vectorSize: %lu\n", vectorSize); edgeImage.data = farmalloc(vectorSize*sizeof(unsigned char)); if(edgeImage.data == NULL) { printf("Failed to malloc edgeImage.data\n");

15

exit(0); } printf("%lu bytes malloc'ed for edgeImage.data\n", vectorSize); originalImage.data = farmalloc(vectorSize*sizeof(unsigned char)); if(originalImage.data == NULL) { printf("Failed to malloc originalImage.data\n"); exit(0); } printf("%lu bytes malloc'ed for originalImage.datt\n", vectorSize); /*------COPY HEADER AND COLOR TABLE---------*/ copyImageInfo(bmpInput, bmpOutput); copyColorTable(bmpInput, bmpOutput, nColors); fseek(bmpInput, (14+40+4*nColors), SEEK_SET); fseek(bmpOutput, (14+40+4*nColors), SEEK_SET); /* Read input.bmp and store it's raster data into originalImage.data */ for(row=0; row<=originalImage.rows-1; row++) { for(col=0; col<=originalImage.cols-1; col++) { fread(pChar, sizeof(char), 1, bmpInput); *(originalImage.data + row*originalImage.cols + col) = *pChar; } } /*--------------------------------------------------Sobel ALGORITHM STARTS HERE ---------------------------------------------------*/ for(Y=0; Y<=(originalImage.rows-1); Y++) { for(X=0; X<=(originalImage.cols-1); X++) { sumX = 0; sumY = 0; /* image boundaries */ if(Y==0 || Y==originalImage.rows-1) SUM = 0; else if(X==0 || X==originalImage.cols-1) SUM = 0; /* Convolution starts here */ else { /*-------X GRADIENT APPROXIMATION------*/ for(I=-1; I<=1; I++) { for(J=-1; J<=1; J++) { sumX = sumX + (int)( (*(originalImage.data + X + I + (Y + J)*originalImage.cols)) * GX[I+1][J+1]); } } /*-------Y GRADIENT APPROXIMATION-------*/ for(I=-1; I<=1; I++) { for(J=-1; J<=1; J++) {

16

sumY = sumY + (int)( (*(originalImage.data + X + I + (Y + J)*originalImage.cols)) * GY[I+1][J+1]); } } /*---GRADIENT MAGNITUDE APPROXIMATION (Myler p.218)----*/ SUM = abs(sumX) + abs(sumY); } if(SUM>255) SUM=255; if(SUM<0) SUM=0; *(edgeImage.data + X + Y*originalImage.cols) = 255 (unsigned char)(SUM); fwrite((edgeImage.data + X + Y*originalImage.cols),sizeof(char),1,bmpOutput); } } printf("See edgeSob.bmp for results\n"); fclose(bmpInput); fclose(bmpOutput); farfree(edgeImage.data); /* Finished with edgeImage.data */ farfree(originalImage.data); /* Finished with originalImage.data */ return 0; } /*----------GET IMAGE INFO SUBPROGRAM--------------*/ long getImageInfo(FILE* inputFile, long offset, int numberOfChars) { unsigned char *ptrC; long value = 0L; unsigned char dummy; int i; dummy = '0'; ptrC = &dummy; fseek(inputFile, offset, SEEK_SET); for(i=1; i<=numberOfChars; i++) { fread(ptrC, sizeof(char), 1, inputFile); /* calculate value based on adding bytes */ value = (long)(value + (*ptrC)*(pow(256, (i-1)))); } return(value); } /* end of getImageInfo */ /*-------------COPIES HEADER AND INFO HEADER----------------*/ void copyImageInfo(FILE* inputFile, FILE* outputFile) { unsigned char *ptrC; unsigned char dummy;

17

int dummy = '0'; ptrC = &dummy;

i;

fseek(inputFile, 0L, SEEK_SET); fseek(outputFile, 0L, SEEK_SET); for(i=0; i<=50; i++) { fread(ptrC, sizeof(char), 1, inputFile); fwrite(ptrC, sizeof(char), 1, outputFile); } } /*----------------COPIES COLOR TABLE-----------------------------*/ void copyColorTable(FILE* inputFile, FILE* outputFile, int nColors) { unsigned char *ptrC; unsigned char dummy; int i; dummy = '0'; ptrC = &dummy; fseek(inputFile, 54L, SEEK_SET); fseek(outputFile, 54L, SEEK_SET); for(i=0; i<=(4*nColors); i++) /* there are (4*nColors) bytesin color table */ { fread(ptrC, sizeof(char), 1, inputFile); fwrite(ptrC, sizeof(char), 1, outputFile); } }

Mt n c trt trn mi vng ca bc nh, thay i gi tr ca im nh ri trt sang phi cho n khi ht hng. Ri n li thc hin vi hng tip theo. Chng hn:

18

Laplacian: Phng php ny s dng mt mt n kch thc 5x5 tnh xp x ra bc nh dn xut, khc vi Sobel n tnh trc tip lun vi hng x v y. Tuy nhin n rt nhy cm vi nhiu v tnh xp x, v c v khng tt bng Sobel, nhng li cho bin mnh v nt hn nu nh t nhiu. Ma trn Laplacian cho di y v on code thc hin:

#include #include #include #include

(stdio.h) (stdlib.h) (math.h) (alloc.h)

/*-------STRUCTURES---------*/ typedef struct {int rows; int cols; unsigned char* data;} sImage;

19

/*-------PROTOTYPES---------*/ long getImageInfo(FILE*, long, int); void copyImageInfo(FILE* inputFile, FILE* outputFile); void copyColorTable(FILE* inputFile, FILE* outputFile, int nColors); int main(int argc, char* argv[]) { FILE *bmpInput, *bmpOutput; sImage originalImage; sImage edgeImage; unsigned int X, Y; int I, J; long SUM; int nColors; unsigned long vectorSize; unsigned long fileSize; int MASK[5][5]; unsigned char *pChar, someChar; unsigned int row, col; someChar = '0'; pChar = &someChar; /* 5x5 Laplace mask. Ref: Myler Handbook p. MASK[0][0] = -1; MASK[0][1] = -1; MASK[0][2] MASK[0][4] = -1; MASK[1][0] = -1; MASK[1][1] = -1; MASK[1][2] MASK[1][4] = -1; MASK[2][0] = -1; MASK[2][1] = -1; MASK[2][2] MASK[2][4] = -1; MASK[3][0] = -1; MASK[3][1] = -1; MASK[3][2] MASK[3][4] = -1; MASK[4][0] = -1; MASK[4][1] = -1; MASK[4][2] MASK[4][4] = -1; 135 */ = -1; MASK[0][3] = -1; = -1; MASK[1][3] = -1; = 24; MASK[2][3] = -1; = -1; MASK[3][3] = -1; = -1; MASK[4][3] = -1;

if(argc < 2) { printf("Usage: %s bmpInput.bmp\n", argv[0]); exit(0); }; printf("Reading filename %s\n", argv[1]); /* open files for reading and writing to */ bmpInput = fopen(argv[1], "rb"); bmpOutput = fopen("edgeLap.bmp", "wb"); /* start pointer at beginning of file */ fseek(bmpInput, 0L, SEEK_END); /* retrieve and print filesize and number of cols and rows */ fileSize = getImageInfo(bmpInput, 2, 4); originalImage.cols = (int)getImageInfo(bmpInput, 18, 4); originalImage.rows = (int)getImageInfo(bmpInput, 22, 4); edgeImage.rows = originalImage.rows; edgeImage.cols = originalImage.cols; printf("Width: %d\n", originalImage.cols); printf("Height: %d\n", originalImage.rows); printf("File size: %lu\n", fileSize);

20

/* retrieve and print Number of colors */ nColors = (int)getImageInfo(bmpInput, 46, 4); printf("nColors: %d\n", nColors); vectorSize = fileSize - (14+40+4*nColors); printf("vectorSize: %lu\n", vectorSize); edgeImage.data = farmalloc(vectorSize*sizeof(unsigned char)); if(edgeImage.data == NULL) { printf("Failed to malloc edgeImage.data\n"); exit(0); } printf("%lu bytes malloc'ed for edgeImage.data\n", vectorSize); originalImage.data = farmalloc(vectorSize*sizeof(unsigned char)); if(originalImage.data == NULL) { printf("Failed to malloc originalImage.data\n"); exit(0); } printf("%lu bytes malloc'ed for originalImage.datt\n", vectorSize); copyImageInfo(bmpInput, bmpOutput); copyColorTable(bmpInput, bmpOutput, nColors); fseek(bmpInput, (14+40+4*nColors), SEEK_SET); fseek(bmpOutput, (14+40+4*nColors), SEEK_SET); /* Read input.bmp and store it's raster data into originalImage.data */ for(row=0; row<=originalImage.rows-1; row++) { for(col=0; col<=originalImage.cols-1; col++) { fread(pChar, sizeof(char), 1, bmpInput); *(originalImage.data + row*originalImage.cols + col) = *pChar; } } for(Y=0; Y<=(originalImage.rows-1); Y++) { for(X=0; X<=(originalImage.cols-1); X++) SUM = 0;

/* image boundaries */ if(Y==0 || Y==1 || Y==originalImage.rows-2 || Y==originalImage.rows-1) SUM = 0; else if(X==0 || X==1 || X==originalImage.cols-2 || X==originalImage.cols-1) SUM = 0; /* Convolution starts here */ else { for(I=-2; I<=2; I++) { for(J=-2; J<=2; J++) { SUM = SUM + (int)( (*(originalImage.data + X + I + (Y + J)*originalImage.cols)) * MASK[I+2][J+2]); }

21

} } if(SUM>255) if(SUM<0) SUM=255; SUM=0;

*(edgeImage.data + X + Y*originalImage.cols) = 255 (unsigned char)(SUM); fwrite((edgeImage.data + X + Y*originalImage.cols),sizeof(char),1,bmpOutput); } } printf("See edgeLap.bmp for results\n"); fclose(bmpInput); fclose(bmpOutput); farfree(edgeImage.data); /* Finished with edgeImage.data */ farfree(originalImage.data); /* Finished with originalImage.data */ return 0; } /*----------GET IMAGE INFO SUBPROGRAM--------------*/ long getImageInfo(FILE* inputFile, long offset, int numberOfChars) { unsigned char *ptrC; long value = 0L; unsigned char dummy; int i; dummy = '0'; ptrC = &dummy; fseek(inputFile, offset, SEEK_SET); for(i=1; i<=numberOfChars; i++) { fread(ptrC, sizeof(char), 1, inputFile); /* calculate value based on adding bytes */ value = (long)(value + (*ptrC)*(pow(256, (i-1)))); } return(value); } /* end of getImageInfo */ /*-------------COPIES HEADER AND INFO HEADER----------------*/ void copyImageInfo(FILE* inputFile, FILE* outputFile) { unsigned char *ptrC; unsigned char dummy; int i; dummy = '0'; ptrC = &dummy; fseek(inputFile, 0L, SEEK_SET); fseek(outputFile, 0L, SEEK_SET); for(i=0; i<=50; i++)

22

{ fread(ptrC, sizeof(char), 1, inputFile); fwrite(ptrC, sizeof(char), 1, outputFile); } } /*----------------COPIES COLOR TABLE-----------------------------*/ void copyColorTable(FILE* inputFile, FILE* outputFile, int nColors) { unsigned char *ptrC; unsigned char dummy; int i; dummy = '0'; ptrC = &dummy; fseek(inputFile, 54L, SEEK_SET); fseek(outputFile, 54L, SEEK_SET); for(i=0; i<=(4*nColors); i++) /* there are (4*nColors) bytesin color table */ { fread(ptrC, sizeof(char), 1, inputFile); fwrite(ptrC, sizeof(char), 1, outputFile); } }

Gii thch r hn v ci t li thut ton bng Java:


Phng php Sobel Phng php Laplacian Phng php d bin Canny nh c lm ni bin :

23

Vic pht hin bin thc cht l ly nhng im nh c s bin thin v cng sng hay mc xm. Ta dng ma trn lc, thng dng ma trn Sobel theo hng x v y hoc dng laplace, dng laplace th b nh hng bi nhiu hn, sau khi lm ni bin, ta c th tnh hng ca gradien theo cng thc tan(phi) = Gy/Gx, da vo gc ny bit hng ca gradien, t vi mi im trn bin s c hin khi 2 im ln cn theo hng o hm ca n u nh hn n. Phng php d bin canny s dng mt ma trn nhn chp ca laplace vi ma trn gauss kh nh hng ca nhiu. Cc phng php lc ti u thc hin theo 3 tiu ch lm gim s im cc i cc b lm mnh bin, lm gim nhiu-t s gia tn hiu v nhiu l cc i, v cc tiu ho phng sai khng mt i c trng quan trng. Vn d v tch bin l mt vn phc tp, y ch xin trnh by 2 mt n lc bin v d bin theo phng php canny xc nh ng bin: Phng php Sobel:
int GX[][] = new int[3][3]; int GY[][] = new int[3][3];

GX[0][0] = -1; GX[0][1] = 0; GX[0][2] = 1; GX[1][0] = -2; GX[1][1] = 0; GX[1][2] = 2; GX[2][0] = -1; GX[2][1] = 0; GX[2][2] = 1; GY[0][0] = 1; GY[0][1] = 2; GY[0][2] = 1; GY[1][0] = 0; GY[1][1] = 0; GY[1][2] = 0; GY[2][0] = -1; GY[2][1] = -2; GY[2][2] = -1;

24

for (int i=0;i<DrawImage.height-1;i++){ for (int j=0;j<DrawImage.width-1;j++){ int sumX=0; int sumY=0; int SUM = 0; /* bin nh */ if(i==0 || i==1 || i==DrawImage.height-2 || i==DrawImage.height-1) SUM = 0; else if(j==0 || j==1 || j==DrawImage.height-2 || j==DrawImage.height-1) SUM = 0; else { for(int I=-1; I<=1; I++) for(int J=-1; J<=1; J++)

{ sumX+=(int)(F[i+I][j+J]*GX[I+1][J+1]); sumY+=(int)(F[i+I][j+J]*GY[I+1][J+1]); }

SUM = (int)(Math.sqrt(sumX*sumX + sumY*sumY)); } if(SUM>255) if(SUM<0) SUM=255; SUM=0;

DrawImage.pixels[i*DrawImage.width+j]=255-SUM; //i c tnh nh im trng thnh en v ngc li cho d quan st } }

Phng php Laplacian nh sau:

int L[][] = new int[5][5]; L[0][0] = -1; L[0][1] = -1; L[0][2] = -1; L[0][3] = -1; L[0][4] = 1; L[1][0] = -1; L[1][1] = -1; L[1][2] = -1; L[1][3] = -1; L[1][4] = 1; L[2][0] = -1; L[2][1] = -1; L[2][2] = 24; L[2][3] = -1; L[2][4] = 1; L[3][0] = -1; L[3][1] = -1; L[3][2] = -1; L[3][3] = -1; L[3][4] = 1;

25

L[4][0] = -1; L[4][1] = -1; L[4][2] = -1; L[4][3] = -1; L[4][4] = 1;

for (int i=0;i<DrawImage.height-1;i++){ for (int j=0;j<DrawImage.width-1;j++){ int SUM = 0; /* bin nh */ if(i==0 || i==1 || i==DrawImage.height-2 || i==DrawImage.height-1) SUM = 0; else if(j==0 || j==1 || j==DrawImage.height-2 || j==DrawImage.height-1) SUM = 0; else { for(int I=-2; I<=2; I++) for(int J=-2; J<=2; J++) SUM+=(int)(F[i+I][j+J]*L[I+2][J+2]); } if(SUM>255) SUM=255; if(SUM<0) SUM=0; DrawImage.pixels[i*DrawImage.width+j]=255-SUM; } }

Phng php d bin canny nh sau: Sau khi nhn vi tch chp L&G ti mi im nh I[i] n s l en nu tho mn I[i1] < I[i] < I[i2] tu theo hng o hm, tc l bn case trng hp theo hng gradient, bn c th d dng ci t nh c d bin theo phng php canny:

26

27

ng dng ca vic pht hin bin nh:


Chng ta mun xy dng mt gii thut hot hnh thc hin vic chit xut t ng cc c trng t cc nh gc. Mt cch hay l thc hin vic tm ra cnh t bc nh gc. Chng ta hon thnh vic ny bng cch s dng mt gii thut d Laplacian, cc bc thc hin nh sau: Bc 1: Chng ta hy th bt u vi bc nh ngi n ng p trai ny:

V bc nh trong hot hnh n chu cc nh hng ca tc , nn cc im nh bin

28

thin theo thi gian v thc t l ta ch c bc nh th 2 bn phi ch khng phi bc nh u tin bn tri. Bc 2: Lm m bc nh gim nhiu, trn b mt, bng mt b lc thng thp chng hn. Bi v chng ta mun chn cc cnh thc hin hot hnh, nn chng ta khng mun tt c cc cnh u hin ln, ch nhng cnh chnh yu nht. Do vy chng ta lm m bc nh trc khi d bin. Phng php ny tt nht nn s dng php tch chp vi mt ma trn Gauss. Ma trn Gauss:
1 1 2 2 2 1 1 1 2 2 4 2 2 1 2 2 2 1 1 2 4 2 2 1 4 8 4 2 2 8 16 8 4 2 4 8 4 2 2 2 4 2 2 1 2 2 2 1 1

Bc 3: Thc hin phng php Laplacian vi bc nh b m ny. Ti sao li vy, gi s chng ta c tn hiu ca nh mt chiu ny:

Nu chng ta ly o hm ca tn hiu ny th chng ta s c th th 2:

R rng gradient c mt nh ln nht nm trung tm xung quanh cnh. Bng vic so snh n vi ngng chng ta c th d ra mt cnh c khi n vt ngng. Trong trng hp ny, chng ta d ra mt cnh, nhng cnh n tr nn dy hn v ngng ca ta hi nh. Tuy nhin v chng ta bit rng cnh s lun i qua nh, chng ta c th nh v n bng cch s dng Laplacian v tm cc im 0.

29

V nh mong i, cc cnh ca chng ta tng ng vi im 0, nhng chng ta cng nhn thy cc im 0 khc tng ng vi cc gn sng nh t nh gc. Khi chng ta thc hin php Laplacian, chng ta s nhn c iu ny.

Bc nh bn tri l mt nghch bn ca bc nh bn phi, trong vng en tng ng vi im 0. Bc nh bn phi l mt bc nh nh phn nh vic tm cc im 0 qua php tnh Laplacian. Chng ta tm ra cnh, nhng cng nhn c c nhng gn nh nh khc khng cn thit. xo b nhng gn nh ny, chng ta thc hin mt bc tip theo. Khi chng ta tm ra mt im 0 ca php tnh Laplacian, chng ta phi tnh ton mt gi tr ngng a phng c lng, bi v cnh thc s tng ng vi mt tn hiu thay i cng t ngt. Nu gi tr ny thay i thp, th im 0 ca chng ta bao gm c cc gn sng t nh ngun. Do , chng ta c bc th 4 sau: Tm im 0 thng qua tnh Laplacian v so snh n vi mc thay i a phng ca im nh ny vi mt ngng. Nu vt qua ngng, hin cnh. Kt qu ca bc ny cho ta bc nh sau:

V cui cng, chng ta c bc th 5: Lc trung v bc nh: Chng ta lc trung v l v chng ta mun loi i nhng im nh nhiu trong khi vn

30

gi li c cnh. ch li ca vic ny rt r rng, bn hy xem bc nh sau y:

V nh vy, chng ta c c nhng c trng c bn lm hot hnh, vi mt cng c ho no thch hp.

K thut lc Wiener
V d v mt bc nh b nhiu v c lc nh ma trn lc Wiener kch thc 5x5

nh sau khi qua mt p ng no th b nhiu v khc vi ban u, theo l thuyt ta xy dng mt p ng ngc li khi phc nh da vo p ng ban u. Tuy nhin p ng xung l v hn v iu ny ngha l khng th xy dng c n bng mt ma

31

trn lc. Mt cch khc l s dng p ng xung hu hn FIR. Cc phng php lc ngc v lc gi ngc khng khc phc c nhiu, do phng php lc Wiener gii quyt vn ny. Lc wiener mc ch lm cc tiu bnh phng sai khc gia nh gc v nh ang c. Ta ci t mt b lc FIR nh l mt tch chp ca mt b lc trng s g, lm cc tiu sai s bnh phng vi nh thu c v(m,n). Vic tm trng s g tng ng vi vic gii mt phng trnh tho mn yu cu t ra, sau ta tm ra b lc thc hin vic tnh tch chp. Sau khi tnh xong th ta thu c nh gn vi nh gc nht. Vic lu tr b lc Wiener c th c thc hin nh sau:
F(u,v) = G(u,v) R(u,v) Trong R(u,v) cho bi:

trong f(u,v l mt quang ph ca nh nguyn mu v n(u,v) l mt nng lng quang ph ca nhiu, n l mt bin i furier ca tn hiu tng quang, cng thc:

Mt nng lng quang ph ca nh m c th c tnh nh sau:

V vy cng thc cho b lc Wiener l F(u,v) = G(u,v) R(u,v) vi :

Khi , t nh m ta lc vi b lc Wiener s thu c nh gn vi nh gc v t b nh hng ca nhiu. Do cc cng thc ny c th c tn dng lu tr nh m v nhiu. Di y l chng trnh bng C thit k b lc FIR.
#define pi 3.141592654 #include <stdio.h>

32

#include #include #include #include #include #include #include #include void void void void void

<math.h> <alloc.h> <stdlib.h> <io.h> <conio.h> <ctype.h> <conio.h> <string.h>

bit_reversal(unsigned int *, int , int); WTS(float *, float *, int, int); FFT(float *xr, float *xi, float *, float *,int, int) ; transpose(FILE *, int, int); FFT2D(FILE *, FILE *, float *, float *, unsigned int *, int,int , int) ;

void main() { int M,M1,m,n2,i,j,ii,jj,k; int Nt,n,M2,M3,N,N1,ind,yt; unsigned int *L; float *wr,*wi,Do,winc,Do1,Do2; float win,T,alpha,beta,sum1,sum2; float nsq,nsqrt; FILE *fptri,*fptro,*fptr; float *buffi,*buffo,R2,H; float xrm,xim,xrn,xin,zrt,zit,mag,theta; float *w,**h,r1,im; unsigned char file_name[14], ch,ch1,choice,file_name1[14]; clrscr() ; printf("Freq. response can be calculated using standard \n"); printf(" functions which you can select from a menu if your\n"); printf(" reply to the following question is negative.\n"); printf("Is freq. response provided in a file? (y or n)-->"); while(((ch1=getch())!='y')&&(ch1!='n')); putch(ch1); switch(ch1) { case 'n': printf("\n Enter # of points to be generated (e.g. 32x32)-->"); scanf("%dx%d",&M1,&M1); break ; case 'y': printf("\nEnter name of file storing magnitude response-->"); scanf("%s",file_name1); fptr=fopen(file_name1,"r"); fscanf(fptr,"%d %d 11,01,&Mi"); } M=M1>>1 ; yt=wherey(); again1 : gotoxy(1,yt); printf( " "); gotoxy(1,yt); printf("Enter file name for storing impulse response--->"); scanf("%s",file_name);

33

if(((stricmp("FFT.DAT",file_name))==0)|| ((stricmp("TEMP.DAT",file_name))==0)|| ((stricmp("IFFT.DAT",file_name))==0)) printf("This is a reserved file name. Use some other name."); goto again1; gotoxy(1,yt); printf ( " "); ind=access(file_name,0); while(!ind) { gotoxy(1,yt+1); printf ( " "); gotoxy(1,yt+1); printf("File exists. Wish to overwrite? (y or n)-->"); while(((ch=tolower(getch()))!='y')&&(ch1='n')); putch(ch); switch(ch) { case 'y' : ind=1 ; break; case 'n' : gotoxy(1,yt+1); printf(" gotoxy(1,yt); printf("Enter file name -->"); scanf("file_name"); ind=access(file_name,0); } } fptri=fopen("FFT.DAT","wb+"); fptro=fopen("IFFT.DAT","wb+"); buffi=(float *)malloc((M1<<1)*sizeof(float)); switch(ch1) { case 'n': /*Generating data for IFFT.*/ printf("\nEnter choice (1,2 etc.):\n"); printf(" 1. Low-pass.\n"); printf(" 2. High-pass.\n"); printf(" 3. Band-pass.\n"); printf(" 4. Band-reject.->"); while(((ch=getche())!='1')&&(ch!='2')&&(ch!='3')&&(ch!='4')); switch(ch) { case '1' : case '2' : printf("\nEnter cut-off freq. in rad./sec.(cut-off <= n.)->"); scanf("%f",&Do); Do=(Do/pi)*(float)M; Do*=Do; printf("Enter choice:\n"); printf(" 1. Abrupt transition.\n"); printf(" 2. Butterworth.\n"); printf(" Enter 1 or 2 --- >"); while(((choice=getche())!='1')&&(choice!='2'));

");

34

printf("\n"); break; case '3': case '4': printf ("\nEnter lower cut-off freq. in rad./sec. (cut-off <=n."); scanf("%f",&Do1); Do1=(Do/pi)*(float)M; Do1*=Do1; printf ("\nEnter upper cut-off freq. in rad./sec.cut-off<= n.)->"); scanf("%f",&Do2); Do2=(Do/pi)*(float)M; Do2*=Do2; } for(i=0;i<M1;i++) { ii=(i-M)*(i-M); for(j=0;j<M1;j++) { R2=(float)((j-M)*(j-M)+ii); switch(ch) { case '1': /* low-pass. */ if(choice=='1') { if(R2<Do) H=(float)1.0; else H=(float)0.0; } if(choice=='2') H=0.414*Do/(R2+0.414*Do); break; case '2': /* high-pass. */ if(choice=='1') { if(R2<Do) H=(float)0.0; else H=(float)1.0; } if(choice=='2') H=R2/(R2+0.414*Do); break; case '3': /* Band-pass. */ if(R2<Do1) H=(float)0.0; else if (R2>Do2) H=(float)0.0; else H=(float)1.0; break; case '4': /* Band-reject. */ if(R2<Do1) H=(float)1.0; else if (R2>Do2) H=(float)1.0; else H=(float)0.0; break; } jj=j <<1;

35

buffi[jj]=H; buffi[jj+1]=0.0; } fwrite(buffi,M1,2*sizeof(float),fptri); } break; case 'y' : for(i=0;i<M1;i++) { for(j=0;j<M1;j++) { fscanf(fptr,"%f ",&H); jj=j<<1 ; buffi[jj]=H; buffi[jj+1]=(float)0.0; } fwrite(buffi,M1,2*sizeof(float),fptri); } fclose(fptr); } rewind(fptri); m=(int)(log10((double)M1)/log10((double)2)); /* Allocating memory for bit reversal LUT. */ L=(unsigned int *)malloc(M1*sizeof(unsigned int)); /* Generate Look-up table for bit reversal. */ bit_reversal(L,m,M1); /* Allocating memory for twiddle factors. */ n2=M1-1; wr=(float *)malloc(n2*sizeof(float)); wi=(float *)malloc(n2*sizeof(float)); /* Generating twiddle factor.*/ WTS(wr,wi,M1,1); clrscr(); FFT2D(fptri,fptro,wr,wi,L,M1,m,1); clrscr(); fptri=fopen("IFFT.DAT","rb"); fptro=fopen("temp.dat","wb+"); nsq=(float)(M1*M1); buffo=(float *)malloc(M1*sizeof(float)); for(i=0;i<M1;i++) { fread(buffi,M1,2*sizeof(float),fptri); for(j=0;j<M1;j++) buffo[j]=(float)(buffi[2*j]/nsq); fwrite(buffo,M1,sizeof(float),fptro); } fclose(fptri); rewind(fptro); printf("Enter order of FIR filter (odd numbers)."); printf(" \n-->(e.g. 3x3, 5x5) "); scanf("%dx%d",&N,&N); N1=(N-1)/2;

36

M2=M-N1; M3=M+N1; h=(float **)malloc(N*sizeof(float)); for(i=0;i<N;i++) *(h+i)=(float *)malloc(N*sizeof(float)); /* Reading in the impulse response. */ buffo=(float *)malloc(M1*sizeof(float)); fseek(fptro,(long)(M2)*(long)(M1*sizeof(float)),SEEK_SET); for(i=M2;i<=M3;i++) { fread(buffo,M1,sizeof(float),fptro); for(j=M2;j<=M3;j++) h[(i-M2)][j-M2]=buffo[j]; } /* Selection of Window functions. */ printf("\nEnter selection of window function:"); printf("\n 1.Rectangular."); printf("\n 2.Hann."); printf("\n 3.Hamming,"); printf("\n 4.Blackmann."); printf("\n 5.Kaiser."); printf("\nEnter (1,2 ... etc.)-->"); while(((ch=getche())!='1')&&(ch!='2') &&(ch!='3')&&(ch!='4')&&(ch!='5')); yt=wherey(); /* Storing impulse response of FIR filter.*/ again : gotoxy(1,yt+2); printf(" "); gotoxy(1,yt+2); printf("\nEnter file name to store FIR filter coefficients.->"); scanf("%s",file_name); if(((stricmp("FFT.DAT",file_name))==0)|| ((stricmp("temp.DAT",file_name))==0)|| ((stricmp("IFFT.DAT",file_name))==0)) { printf("This is a reserved file name. Use some other name."); goto again; } gotoxy(1,yt+2); printf(" "); ind=access(file_name,0); while(!ind) { gotoxy(1,yt+3); printf ( " "); gotoxy(1,yt+3); printf("File exists. Wish to overwrite? (y or n)-->"); while(((ch1=tolower(getch()))!='y')&&(ch1!='n')); putch(ch1); switch(ch1) { case 'y':

37

ind=1; break; case 'n' : gotoxy(1,yt+3); printf(" gotoxy(1,yt+2); printf(" gotoxy(1,yt+2); printf("Enter file name ---->"); scanf("%s",file_name); ind=access(file_name,0); } } fptri=fopen(file_name,"w"); theta=pi/((float)N1*sqrt((double)2.0)); for(i=0;i<N;i++) { ii=(i-N1)*(i-N1); for(j=0;j<N;j++) { jj=(j-N1)-(j-N1); nsq=(float)(ii+jj); nsqrt=sqrt((double)nsq)/sqrt((double)2.0); switch(ch) { case '1': break; case '2': win=0.5+0.5*cos((double)(theta*nsqrt)); h[i][j]*=win; break; case '3': win=0.54+0.46*cos((double)(theta*nsqrt)); h[i][j]*=win; break; case '4': win=0.42+0.5*cos((double)(theta*nsqrt)) +0.08*cos((double)(2.0*theta*nsqrt)); h[i][j]*=win; break; case '5': if((i+i)==0); { printf("\n\nEnter a value for alpha (O to 8)-->"); scanf("%f",); alpha/=2.0; } beta=nsqrt/(float)N1; beta*=beta; beta=alpha*sqrt(fabs((double)(1.0-beta))); T=alpha ;

"); ");

38

sum1=1.0+T*T; for(k=2;k<11;k++) { T=(1.0/(float)k)*alpha*T; sum2+=T*T; } T=beta; sum2=1.0+T*T; for(k=2;k<11;k++) { T=(1.0/(float)k)*beta*T; sum2+=T*T; } win=sum2/sum1; h[i][j]*=win; break; } fprintf(fptri,"%f ",h[i][j]); } } printf("\n\nFIR filter's coefficients. for(i=0;i<N;i++) { printf ( "\n" ) ; for(j=0;j<N;j++) printf(" %f",h[i][i]); } fclose(fptri ) ; fclose(fptro); remove("FFT.DAT"); remove("IFFT.DAT"); remove("temp.dat"); ");

printf("\nDo you wish to store magnitude spectrum "); printf(" \n for 3-D plotting? (y or n)-->"); while(((ch=getche())!='y')&&(ch!='n')); if(ch=='n') exit(1), printf("\nEnter file for storing magnitude spectrum --> "); scanf("%s",file_name); fptro=fopen(file_name,"w"); Nt=M1+1 ; fprintf(fptro,"%d %d\n",Nt,Nt); fprintf(fptro,"%e",(float)0.0), w=(float *)malloc((M1+1)*sizeof(float)); w[0]=-pi ; winc=2.0*pi/(float)M1; for(i=1;i<Nt;i++) w[i]=w[i-1]+winc; for(i=0;i<Nt;i++) fprintf(fptro," %e",w[i]); gotoxy(70,25); textattr(WHITE+(GREEN<<4)+BLINK); cputs("WAIT"); for(m=0;m<Nt;m++) { fprintf(fptro,"\n%e",w[m]);

39

for(n=0;n<Nt;n++) { zrt=zit=(float)0.0; for(i=-N1;i<=N1;i++) for(j=-N1;j<=N1;j++) { xrm=(float)cos((double)(i*w[m])); xim=(float)sin(-(double)(i*w[m])); xrn=(float)cos((double)(j*w[n])); xin=(float)sin(-(double)(j*w[n])); r1=(xrm*xrn-xim*xin); im=(xrm*xin+xim*xrn); zrt+=h[i+N1][j+N1]*r1; zit+=h[i+N1][j+N1]*im; } mag=(float)sqrt((double)(zrt*zrt+zit*zit)); fprintf(fptro," %e",mag); } } fclose(fptro); gotoxy(70,25); textattr(WHITE+(BLACK<<4)); cputs(" "); }

Lm mnh bin cho nh nh phn


V d nh c lm mnh bin:

40

nh nh phn l mt nh ch biu din 2 mu c bn l en v trng. im thuc i tng nh c mu en v phng nn c mu trng. nh nh phn thch hp vi vic lu tr cc k t hoc xng nh khi phc nh. nh nh phn nhn c t nh n sc bng cch ly ngng. Nh tnh cht nh phn ca nh m ta c th thc hin cc php ton t hnh thi nh ng, m, hp, giao, phn b, chuyn dch. Mt trong nhng cng on x l nh nh phn rt hay c dng l tm xng hay cn gi l lm mnh nh. Cc k thut tm xng c chia ra lm song song v tun t. Trc tin chng ta hy xt mt s khi nim c bn: Xng i tng nh thc cht l cc ng nh c dy l 1 nhng n t c cc yu cu sau y:
Xng phi nm bn trong v trung tm b dy ca i tng nh Xng phi mnh (nu mun dy hn ta dng thut ton lm ni cc im ln cn ca xng) Xng phi th hin c hnh dng ca i tng Xng phi c cng cc thnh phn lin thng nh i tng nh Xng khng chu nh hng ca nhiu, tc khng th l mt chm nh Xng phi cho php khi phc li nh

Phn loi cc phng php tm xng

Phng php tm xng nh khng c kh nng khi phc li dng ban u - lm mnh nh

41

Phng php tm xng nh c th khi phc li, l do ta xc nh cc trung v, sau lm mnh trc tip trung v, thi gian tnh ton nhanh v khi phc bng cch lm hin im ln cn, tuy nhin nhy vi nhiu. Vic tm xng khi phc thc cht l ta xc nh trung v ca nh bng cch tm to gia 2 im bin en, tc l 1 ln chuyn trng sang en v 1 ln chuyn en sang trng, ta dng khi nim gi l s cho. Phng php lm mnh nh nh phn Khi qut v phng php: Lm mnh nh nh phn thc cht l qu trnh xo dn cc im en cho n khi tm c xng nh Phn loi cc im en: im bin, im n gin v im khng kt thc, chc chn ta ch xt cc im n gin Nguyn tc lm mnh : xo cc im bin, xo cc im n gin khng l im kt thc Hai chin lc xo im en : Xo tun t : tc l ti bc th k, ta tm cc tp hp im en D xo c v xo lun Xo song song: ti bc lp k, ta tm ra tp hp im en D ri xo, nhng ri li tm thm tp im en th 2 D' ri xo tip, c ngha l xo mt pht ng thi cc tp im en ti mi bc lp, lm gii thut nhanh kt thc hn. S chung ca gii thut: Ta gi S l tp hp im nh mu en, Sk l xng phi tm Ti bc th i ta tm c mt tp D l tp cc im en b xo th thc hin Si=S-D thut ton kt thc khi D rng Gii thut c th dng mt ma trn D[][], im en b xo ti to i,j s lm cho D[i][j]=1, cn li l 0, nh vy, thc hin php tr tng phn t ma trn im nh cho D l ta thu c nh b xo cc phn t en . Gii thut lm mnh Zhang - Suen: tng ca gii thut l xo cc im en khng kt thc, c ngha l xung quanh n ton l im trng, xo cc im en l bin, ngha l s cho ho cc im ln cn ca n ch l 1 (chng hn nh 0000011111). iu kin bit n l bin hay khng kt thc th bn hy hnh dung P l im en cn xo, mt ma trn trch xut xung quanh n nh sau:
v3 v2 v1 v4 P v0 v5 v6 v7

Khi gi B(P) l s ln cn khc 0 ca P th iu kin xo im p theo gii thut Zhang-Suen nh sau:


2<=B(P)<=6 and Nc(P)=1 and v2.v4.v6=0 and

42

v0.v2.v4=0

iu ny rt d hiu, chng hn trng hp sau khng xo c v xo s to thnh 2 min do im P khng phi l im khng kt thc (t cc !!! )
1 1 0 0 P 1 0 0 0

Cc trng hp khc l xem im p c l bin hay khng th xo. Gii thut lm mnh Lu-Wang (pht trin t gii thut Zhang-Suen) Gii thut ny ti mi bc lp chia lm 2 giai on lin tip Giai on 1: xo cc im en P tho mn cc iu kin sau:
2<=B(p)<=6 and Nc(P)=1 and v0.v2.v6=0 and v0.v4.v6=0 Giai on 2: Sau li xo tip cc im en P tho mn 2<=B(P)<=6 and Nc(P)=1 and v2.v4.v6=0 and v0.v2.v4=0

Em xin trnh by thut ton Lu-Wang, cn gii thut Zhang-Suen th tng t, ch l b giai on u

boolean d[][] = new boolean[DrawImage.height][DrawImage.width]; //mng boolean nh du im xo int i,j,k; boolean check=true; //chuyen sang he anh bitmap 2 mau for (i=0;i<DrawImage.height-1;i++) for (j=0;j<DrawImage.width-1;j++) if (F[i][j] <127) F[i][j]=0; else F[i][j]=1;

//bat dau thao tac lam manh bien int v[]=new int[9]; int nc,nz,start; while (check){ check=false; //khoi tao tap d la rong for (i=0;i<DrawImage.height-1;i++) for (j=0;j<DrawImage.width-1;j++) d[i][j]=false;

43

//bat dau lap for (int giaidoan=1;giaidoan<=2;giaidoan ++) { for (i=0;i<DrawImage.height-1;i++) for (j=0;j<DrawImage.width-1;j++) if (F[i][j]==0) //la diem den { //tm ln cn v[0]=F[i][j+1]; v[1]=F[i-1][j+1];v[2]=F[i1][j];v[3]=F[i-1][j-1]; v[4]=F[i][j-1]; v[5]=F[i+1][j1];v[6]=F[i+1][j];v[7]=F[i+1][j+1]; nc=-1; start=v[0]; nz=0; //nz la so diem lan can khac 0 //tim so cheo v[8]=v[0]; for(k=1;k<=8;k++) if (v[k] != start) { nc++; start=v[k]; } //tim so phan tu khac 0 for(k=0;k<=7;k++) { if(v[k]!=0) nz++; } if((giaidoan==1)&&(nc==1)&&(nz>=2)&&(nz<=6)&& (v[0]*v[2]*v[6]==0)&&(v[0]*v[4]*v[6]==0)) d[i][j]=true; if((giaidoan==2)&&(nc==1)&&(nz>=2)&&(nz<=6)&& (v[0]*v[2]*v[4]==0)&&(v[2]*v[4]*v[6]==0)) d[i][j]=true;

} for (i=0;i<DrawImage.height-1;i++) for (j=0;j<DrawImage.width-1;j++) if(d[i][j]) { F[i][j]=1; check=true; } } }

//tra lai anh cu

44

for (i=0;i<DrawImage.height-1;i++) for (j=0;j<DrawImage.width-1;j++) if(F[i][j]==0) DrawImage.pixels[i*DrawImage.width+j] =0; else DrawImage.pixels[i*DrawImage.width+j] =255; }

V d nh c lm mnh bng phng php ny:

Nhn dng nh:


y l mt vn phc tp nn ch gii thiu qua, l sau khi trch chn ra cc c tnh nh ngi ta da vo mt s yu t nh khong cch, ng php to nn cc h thng ra quyt nh hng cu trc, hoc l theo k thut nhn dng neron. Phn ny c chng em tm hiu t ti liu nc ngoi trong phn ng dng trong h thng nhn dng mu, coi nh ch gii thiu.

Nn nh
Nn nh l mt k thut m ho vi hiu sut xut hin cao cc c tnh chnh ca nh, tc l lm gim s bit cn biu din nh. Mt s k thut nn ph bin l s dng t m thng k, m lot di, m t in, m khi. Cn k thut nn theo cc php bin i l nn mt mt d liu, chng hn nn theo chun JPEG. Chng hn mt mc xm c m ho bng gi tr 8 bit nh phn bng nhau.0000 0110. Ta dng s sp xp lun phin, tc l 2 t m lun phin ch khc nhau mt v tr. Cch m ho ny khng thuc phm vi x l nh s m l lnh vc nn d liu. Cn gii thut nn theo chun JPEG trong sch c, cc bn t nh code li bng C hoc ngn ng tu chn. Do thi gian c hn nn chng em cha i su tm hiu v ci t gii thut ny, i khi l: Nn theo chun JPEG c th gii nn c th chng ta phi lu thng tin nh kch thc nh, kch thc khi, ma trn T, lch tiu chun, cc mc to li, hai bng m LUT huffman, kch thc khi nn mt chiu v xoay chiu. V vic ci t gii thut cho nn JPEG thc s rt phc tp, n i hi cc kin thc v nn RLE, Huffman (gii thut nn ny th n gin), bin i cosin, b lng t ho floyd-max, tuy nhin n nn rt tt nh mu v a mc xm, khng thch hp vi nh en trng...V chun ny tr thnh chun quc t.

ng dng trong h thng nhn dng mu


1 Gii thiu 1.1 Mu v s nhn dng mu 45

Khi chng ta ni v "mu", thng thng chng ta m ch n nhng i tng hoc hnh dng m chng ta c th nhn thy c. Thc ra, nn c mt hm rng hn nhiu v "mu". C nhng v d hay ch ra rng mu khng cn thit b hn ch nh mt i tng hoc hnh dng r rng, m l mt h thng d liu. V d, nghin cu v tnh hnh kinh t ca mt t nc, chng ta thc s ang ni v "mu" kinh t nh nc ca quc gia . Trong sut cuc khng hong kinh t t nm 1997-1999, mt vi quc gia phi chu nhng nh hng ht sc nng n, trong khi mt s khc li khng. iu ny l bi v "mu" trong kinh t nh nc ca h khc nhau. Xt mt v d khc, nghin cu v d on thi tit, ta cn mt h thng d liu lin quan. Vic d on thi tit c da trn "mu" c c trng bi bn din bin p sut v d liu radar ca mt vng. m bo phc v khng ngt qung v iu phi hp l nng lng in, nhng b d liu v nhng mu phn phi a dng cn thng qua vic nghin cu k lng h thng nng lng phc tp phn tch. Ri mu c th c nh ngha nh mt miu t c cu trc v s lng v i tng hoc nhng thc th khc m ta quan tm.(ni thm, khng ch l mt i tng nhn thy, m cn l mt h thng d liu). Do m mt lp mu c th c nh ngha nh mt b mu m chia s nhng c tnh chung. Bi v mu trong cng mt lp c mt vi c tnh chung, chng ta c th d dng to ra nhng to nh khc nhau nh m hnh khc nhau. Tng t, chng ta s khng kh khn nhn dng k t alpha thm ch khi chng c nh dng font, kch c v hng khc nhau. Chng ta cng c th phn bit n ng vi n b, ngi n t bn cu Ty vi ngi n t bn cu ng, xe ti vi xe car d cho chng c nhng kiu mu khc nhau. iu ny l bi v nhng ci trc v sau c nh ngha nh nhng lp mu khc nhau v nhng khc bit ring. Nhn dng mu l mt tin trnh phn mc bt k d liu mu no o c hay quan st c nh mt thnh phn ca mt trong s cc lp hoc hng mc. Trong thc t, vic nhn dng mu l mt thuc tnh c bn ca loi ngi v cc sinh vt sng khc, n c lu truyn ht i ny qua i khc. By gi chng ta ang mong i khm ph ra c my nhn dng ca chng, bt chc, v p dng vi mt cng ngh hin i em li li ch cho loi ngi. Quyn sch ny cng hin cho s thit k mt h thng bt chc vic nhn dng ca con ngi, dng cc gic quan thu nhn thng tin, sau ra quyt nh nh mt phn chnh v phc tp nht l b no. Vic nhn dng mu l mt nhnh ca tr tu nhn to. N l mt ch a ngnh hc. Ch ny hin ti ang thch thc cc nh khoa hc v cc k s trong cc ngnh hc khc nhau. Cc nh khoa hc, k s v in v my tnh ang nghin cu vn ny, cc nh tm l hc, sinh l hc, sinh vt hc, thn kinh hc cng nghin cu v n. Nhiu nh khoa hc p dng cng ngh ny gii quyt cc vn trong lnh vc ring ca h, c th l, kho c, bo tn hi ho, thin vn hc, hng khng, ho hc, mc ch gin ip v phng th, qun l ti nguyn tri t, php l v ti phm hc, gim st, a cht, a l, thuc, thin thch, th nghim khng ph hu, hi dng hc, v..v.. Cc nh tm l hc, sinh l hc, sinh vt hc, v thn kinh hc cng hin n lc ca h khm ph sinh vt sng nhn thc i tng nh th no. Cc nh khoa hc v k s v in v my

46

tnh, cng p dng ton hc ca h cng hin cho s pht trin cc l thuyt, k thut ci t cho my tnh mt nhim v nhn dng. Khi no v u k thut nhn dng mu c th p dng ? K thut ny hu dng khi c li phn tch thng thng, vic to m hnh b hng, v vic gi lp khng hiu qu. Trong nhng tnh hung th ny, k thut nhn dng mu c nhn thy s rt c ch v ng mt vai tr quan trng. C 2 loi mc nhn dng mu: 1.Nhn dng cc mc c th: Nhng loi mc ny hnh dung c v hiu c d dng. Trong s nhng mc c th l nhng mc v khng gian v thi gian. V d v nhng mc khng gian l cnh, tranh, biu tng (chng hn nh k hiu giao thng), k t(chng hn k t alpha, k t rp x t, trung quc), ch k, bn con ng, bn thi tit, hnh dng sng ting ni, ECG, EEG, sng ng t, nh 2 chiu, i tng vt l 3 chiu, v..v.. V d v mc thi gian l hnh dng sng ting ni thi gian thc, nhp tim thi gian thc, v bt k hnh dng sng no phc thuc thi gian. Mt vi mc c cp trn y l mt chiu, chng hn hnh dng sng ting ni, in tm , in no , sng ng t, ch k, v..v..; mt s l 2 chiu, nh bn , k t, tranh, nh tia x, nh t bo, nh chp x quang, v mt s l i tng 3 chiu. 2.Nhn dng cc mc tru tng (nhn dng khi nim). V d l cc quan nim, l l, v..v.. Hi rng, u l kin ca nhng ngi thuc hip hi ngh nghip t do min bc m ? Nhiu ngi c l nh li rng tng ny l t mt ngi hot ng cho nc M. l tng thng bill clinton v bob dole vo nm 1992. Chng ta hy xt v d khc. T kiu vit ch, chng ta c th phn bit c bi vn xui vi bi th ? T bn dch vn xui, chng ta c th nhn ra tc phm ca dicken vi tc phm khc ? Chc chn l chng ta c th. Bi v kiu vit l mt hnh dng ca mu. Khi chng ta lng nghe mt giai iu, chng ta c th phn bit c tc phm ca traicopski vi tc phm ca mozart. Chc chn l chng ta c th. Giai iu l mt hnh dng mu. Tuy nhin, vic nhn dng mu nh th ny c cp bn trn (nhn dng khi nim thut ng), thuc v mt phn khc ca tr tu nhn to, v n vt xa mc ch ca cun sch ny. Chng ta phi cp n vn i vi nhn dng mu y, s khng c mt thuyt no ph hp m c th p dng cho tt c phm vi nhn dng mu. Cc ng dng c xu hng chuyn mn v i hi k thut ring. Rng, cc lut l bao gm vic nhn dng mu c quan st (vi mt ngi dy dy cho h thng), nhn dng mu khng quan st (h thng t hc), v m hnh mng thn kinh s c tho lun. 1.2 Tm quan trng v tim nng ca h thng nhn dng mu Khng kh thy rng trong sut th k 20 t ng ho gii phng con ngi khi lao ng chn tay nng nhc trong ngnh cng nghip. Tuy nhin, nhiu nhim v, rt nh nhng trong lao ng ph thng, chng hn nh kim k cc b phn, bao gm vic o lng mt vi thng s, vn phi ch yu do con ngi iu hnh.

47

Tht l nghch l, c mt khong cch gia nng sut v hiu qu. Chng thm ch cn b qu ti i vi mt ng sn phm sinh ra v ngp trong ti liu ho m cn c iu khin bng tay. Nhng cng vic ny lin quan ch yu n s thu nhn kin thc thng qua cc b phn gic quan ca con ngi, c bit l thnh gic v th gic, qu trnh x l thng tin v ra quyt nh c thc hin bi b no. iu ny thc s l mt chc nng t ng trong vic nhn dng mu. ng dng trong vic nhn dng mu rt rng. N c th c p dng, trong l thuyt, cho bt c tnh hung no cn thng tin v m thanh v hnh nh trong vic x l quyt nh. Hy coi nh mt v d, l sp xp th. Cng vic ny khng nng nhc so vi sn xut thp. Nhng thit b sn xut thp th t ng hon ton, v vic sp xp th tr nn bun chn, t nht. Nu k thut nhn dng mu c s dng thay th hot ng con ngi nhn dng tn v a ch ba th, nng sut v hiu qu ca vic sp xp th s c nng cao rt nhiu. T ng ho v lnh vc kim tra phng th nghim cho cc bc nh y hc hng ngy chng hn nh tia chp x ngc cho bnh vim phi v vim nhim t cung v u v trong vic d bnh tin ung th c iu tr sm v ung th l mt lnh vc ng dng khc quan trng. N cng c xem xt phng to nhng t bo khc thng d bng pht m trng rt ging vi t bo ung th di knh hin vi. Nhng bc nh on nhn t khng gian v v tinh v thng tin mt t l mt ng dng quan trng khc ca vic nhn dng mu. Gia nhng ng dng trong lnh vc ny l d bo v v ma v phn tnh mu my, v.v. Mt vi ng dng bin ho c cp cui chng ny v cui cun sch. Bn cnh nhng iu ny, cn c nhiu ng dng khc, c bit l lc m chng ta quan tm n kinh t ton cu. 1.2.1 Cc phng thc ca h thng nhn dng mu H thng nhn dng mu m chng ta ni trc y c th c phn mc theo nhng phng thc sau: 1. H thng c pht trin chuyn mt cnh thnh cnh khc m n ph hp hn cho con ngi nhn dng (hoc hiu) cnh . Nhng vn tr ngi khc nhau c l c m u trong sut qu trnh thu np mt nh. Kh khn c th n t phng tin v cng c th l b cm nhn ca n (thit b thu np). Mt vi k thut c cn n pht trin vic tng cng nh v thm ch khi phc hnh dng gc ca i tng. Qu trnh x l nh ny bao hm mt chui thao tc c thc hin theo s biu din di dng s ca i tng t c mt kt qu quan tm. Trong trng hp mt bc tranh, qu trnh x l nh thay i hnh dng ca n thnh mt phin bn c sa i lm n ngon lnh hn cho cc mc ch nhn dng. V d, nu chng ta mun hiu th no l nhiu nh c ch ra trong hnh 1.1a, chng ta trc tin phi tng cng nh thnh mt bc nh c ch ra trong hnh 1.1b, t chng ta c th hnh dung ra cnh vt. 2. H thng c pht trin tng cng mt cnh cho vic nhn thc ca con ngi v cng cho phn ng ca con ngi nu cn. Mt v d v ng dng ny c

48

th c tm thy trong vic nhn dng mt chic xe tng ang chuyn ng trong mt chin trng t trn khng. Khong mc tiu v c mc tiu phi c xc nh. Mt vi kha cnh ca mc tiu, bao gm hnh dng v du k hiu trn mc tiu, rt hu dng phn bit i th v ta. Thng tin chng hn nh chic tng di chuyn nhanh nh th no v dc theo hng no cng rt cn thit. Thm vo , cc nhn t nh hng n vic nhn dng ng, chng hn nh bn knh mt sn, mi trng khi, tng phn gia nn v mc tiu, s rn rn, cng nn c quan tm. 3.H thng c pht trin hon thnh mt nhim v bng tay. truyn khng gy n, rng trn mt cp bnh v bnh rng phi khp ng vo nhau. Thng thng cng vic ny da vo thao tc ca con ngi vi tay, mt v b no. iu hp kh nng, tuy nhin, thit k mt h thng d my tnh vi cc k thut nhn dng tr gip cho vic kim tra ca con ngi trong cc cng vic bun t. H thng nhn dng mu c th cng c thit k cho cc xc nhn cu trc cc phn mt cch cng nghip, v cho vic chn nht trong cng nghip. Chn nht c s dng trong h thng o nhn to gip cho vic khi phc cc ph kin m b lu tr ngu nhin trong mt thng hng. Mt v d khc l kim tra o lng v xc nhn kt cu ca nhng sn phm thp nng mt khong cch t xa trong cc xng thp. 4.H thng c pht trin cho vic khi to mt chui hnh ng ti u vic thu np nh hoc chit xut c tnh nh. iu khin t ng ca b cm nhn nh c m t trong chng 16 (ng dng bin ho) cho vic thu np tt nht thng tin mt t cho vic phn tch ng l mt v d hay. ng rng n rt hiu qu v cng rt c li, u vit thu np thng tin mt t t v tinh cho nhng mc nh chnh tr hoc qun chng. Tuy nhin, do qu o c nh ca v tinh v cc ch qut c nh ca my qut a ph, cch m v tinh thu np thng tin mt t l nhng hnh dng b ct. Ngi ta bit rng, 2 vt ct lin tip ca thng tin c qut khng phi l 2 vng a l lin k. Thm vo , 2 vt ct vng a l lin k c qut ti nhng thi im trong ngy khc nhau. Ngu nhin vng mc tiu m ta quan tm nht ri vo hoc l pha bn tri hoc bn phi ca vt ct hin hnh. ni lin 2 hoc 3 vt ct ny do khng trnh khi phi t hiu mc tiu, v bi vy cho nn x l ng tuyn s khng th thc thi. X l khng trc tuyn s hp l,(d rt khng hiu qu) khi ta ch xoay s vi mt mc tiu tnh. Nhng tnh hung s khng tr nn nghim trng nu thng tinh tm kim l cho vic phn tch ng trong vic trin khai mt chin lc qun s. Thm ch trong vic gim st mt dng thay i chm, thng tin thu c bng cch ny s kh c dng. Do ngi ta mong mun lm rng thm tm nhn ca my qut bng cch dng k thut nhn dng mu thu c mt lt n tt c thng tin v mt t ng quan tm hin ti c nh v xuyn qua 2 hoc 3 vt ct. iu ny s khng ch cho php thu np ng thi gian v cn x l ng a im thng tin v cnh thay i theo thi gian mt cch thch hp, nhng s lu li nhiu qu trnh x l ni lin mt t, xem chung 16 bit thm chi tit. H thng nh th ny c nhiu ng dng. N c th c thit kt trong hnh dng

49

ca mt vng m hoc ng. Nu cnh c x l ch c chuyn giao cho con ngi, n s l mt h thng vng m. Nu nh c x l c x dng gip robot di chuyn xung quanh mt cn phng di mt mi trng v cng nguy him, mt h thng vng ng s ph hp hn cho robot lu ng. Tng kt li, mt h thng nhn dng mu c th c thit k 1 trong 4 phng thc c cp cho ph hp vi nhng ng dng khc nhau. Mt h thng nhn dng mu, ni chung, bao gm vic thu np nh, x l d liu nh, phn on nh, chit xut c tnh, v phn loi i tng. Kt qu c th c s dng cho vic din dch hoc cho vic khi ng. nh c hin th trong min khng gian v min chuyn i nhng dng trung gian cng l mt tin trnh quan trng ca h thng. 1.3 Cu hnh ca mt h thng nhn dng mu 1.3.1 Ba pha ca qu trnh nhn dng mu Trong nhn dng mu chng ta c th chia mt nhim v tng th thnh 3 pha : thu np d liu, x l d liu v phn loi quyt nh, c ch ra trong hnh 1.2. Trong pha thu np d liu, d liu tng t t th gii thc c tp hp qua b chuyn i v c chuyn thnh nh dng s ph hp cho vic x l ca my tnh. Trong phm vi ny, cc bin s vt l c chuyn thnh mt b d liu c o, c ch ra trong hnh bi cc k hiu in nu cc bin vt l l m thanh (hoc cng sng) v b chuyn i l microphone (hoc t bo quang hc). D liu c o ri s c s dng nh l u vo ca pha th 2 (x l d liu) v c nhm li thnh mt b cc c trng ring bit xn nh l u ra. Pha th 3 thc s l mt my phn lp l hnh dng ca mt b c chc nng quyt nh. Vi cc b c trng xn i tng c th c phn lp. Trong hnh 1.2 b d liu B,C v D ch khong mu, khong tnh nng v khong phn loi, mt cch ln lt. Pha x l d liu bao gm tin chit xut c tnh. L do phi c s chit xut c tnh trong pha ny rt n gin bi v s lng d liu chng ta c trong pha thu np d liu rt ln v phi c ti gin cho hp l nhng vn phi m bo c nhng thng tin ring bit nhn dng. 1.3.2 Chit xut c tnh- Mt phn quan trng trong vic nhn dng mu S cn thit ca vic thu nh thng tin x l mt bc nh vi mt my tnh, chng ta trc tin cn phi s ho bc nh theo hai hng X v Y. Nu s ho cng tt, bc nh s cng chn thc nh nguyn gc. iu ny chng ta gi l chuyn gii khng gian. Thm vo , nu mc xm c s dng cng ln cho vic lng ho chc nng nh, mc chi tit s cng hin r. Gi s chng ta c mt bc nh c kch thc l 4 x 4 in v mun c mt phn gii khng gian l 500dpi (im trn inch) v 256 mc xm cho vic lng ho nh, chng ta s c mt s lng l 2048 x 2048 x 8 hay l 33.55 triu bit biu din mt bc nh n. Lng d liu v th m cc ln.

50

Cch ph bin nht c dng v phng php c bn nht x l nh l bao bc bc nh vi mt ma trn vung kch thc n(mt n). Chng ta hy xt n=3 lm v d. S c khong 8 php nhn v cng (hay 18 ton hng du phy ng) cho mi 4.19 triu im nh, tng cng l 75.5 x 10 m 6 ton hng. Gi s 6 tin trnh c i hi cho vic hon thnh mt cng vic x l mt bc nh ring no , chng ta s cn phi thc hin 453 x 10 m 6 ton hng, mc tnh ton v cng phc tp. C th ni, trung bnh, 20 nhp xung thi gian cn cho mi ton hng v tc my petium III l 500MHz (lnh vc cng ngh hi ho) c s dng cho h thng. V ri 18s s cn cho vic tnh ton mt bc nh n m khng xem xt thi gian cn chuyn d liu gia b nh v CPU trong sut tin trnh. S lng thi gian s l, khng phi nghi ng g na, ln hn nhiu vi thi gian tnh ton ca CPU, c l l 20 ln. tng tc x l nh, do cn thit phi tm ra cch biu din bc nh mt cch ng n vi s lng d liu t hn nhiu m khng mt mt thng tin quan trng nhn ra n. Nhng c trng m c th nhn dng tt nht i tng Ngi ta bit rng khi mt bc nh c x l qua h thng th gic ca con ngi, h thng khng hnh dung ra bc nh theo tng pixel (hay i tng). Thay vo , h thng th gic ca con ngi rt ra nhng c tnh nh nhng thng tin kho c to ra bi cc pixel lin quan nhm li hnh thnh nn c trng. Cc c trng trong mt mu gm mt danh sch cc miu t gi l cc vector tnh nng, s c t s lng hn, nhng c thng tin ring bit nhn dng. Bc nh cha cc i tng m c phn mc. S la chn ng tnh nng ng vai tr quyt nh. Mt b cc tnh nng c l v cng hiu qu cho mt ng dng, nhng c th rt t c s dng cho mt ng dng khc. Vn chia lp i tng (mu) hng n vn t hoc nhiu hn. Mt b tnh nng ng s tr gip cho vic nghin cu k lng v i tng, s la chn mo u cc tnh nng c sn v hp l v cui cng l sp xp nhng tnh nng hiu qu nht sau khi lng gi mi b tnh nng theo s hiu qu v phn lp. Xem chng 7 (gim kch c v chn la c tnh) tho lun chi tit v th t ca c trng. i vi i tng m c phn mc, cc c trng c th c quy vo nh cc phn ca bc nh vi mt vi c tnh c bit. ng thng, ng cong, v vng kt cu l nhng v d. Chng l nhng c trng cc b, nn c gi phn bit vi cc c trng ton cc, chng hn nh mc xm trung bnh. V l c trng cc b, n nn l cc b, c ngha y , v l nhng phn c th nhn thy ca bc nh. T ngha y , chng ta l c trng c gn kt n nhng yu t cnh gy ch thng qua qu trnh nh dng nh. T s nhn thy c, c ngha l thut ton v tr phi tn ti cho ra mt su tp cc b miu t c trng, ch r v tr v cc c tnh thit yu khc ca cc c trng tm thy trn bc nh. Xem v d c nu trong on 1.2 m t ng s n khp gia bnh rng v c cu rng. Mi quan tm ca chng ta tp trung vo hoc l cao gia rng v mt nghing ca rng ging nhau (t nht vi mt mc chu ng) trong c bnh rng v

51

c cu rng. Vn ca chng ta by gi l phi chit xut nhng c trng cc b ny cho vic xc nh cu trc ca h. Hnh 1.3 ch ra mt bc nh bng knh hin vi ca vt bn m o, ch a c ch ra bi hnh dng ca cc t bo thng thng, trong khi hnh b ch ra cc t bo bt thng. Mt h thng x l nh my tnh vi mt knh hin vi c th c pht trin t ng ho hin th nhng t bo bt thng tch bit vi cc t bo bnh thng trong vic kim tra vt l chung. C nhiu ng dng khc v mc ny, v d, vic nhn dng k t alpha, vic lp rp cc ph kin sn xut bi robot, v..v Bc nh mu cha cc i tng biu din tt nht vi cc c tnh ph. Nhiu i tng khng phi do con ngi lm ra, khng th biu din tt bng hnh dng ca chng, c bit i vi nhng i tng m ln ln lin tc theo thi gian. Cc sn phm nng nghip l nhng v d hay. i vi nhng i tng ny mt vi c trng khc nn c tch ra nhn dng. Bi nghin cu ch ra rng cc i tng nng nghip khc nhau chim gi nhng c tnh quang ph khc nhau. Cc sn phm nng nghip chng hn nh ng cc, la m, v u phn ng mt cch ring bit vi cc bng tn khc nhau vi cc quang ph ca sng in t quang hc (xem hnh 1.4) . V l do ny, mc phn ng i vi mt vi bng tn ring bit c th c la chn nh cc c trng phn lp. Cm nhn t xa quan tm n vic tp hp d liu v tri t v mi trng ca n bng cch dng cc tia in t thy c v khng thy c. D liu a ph c tp hp, vi bng tn va , thm ch l nhiu hn ngay lp tc. Thng tin v tia cc tm, nh sng nhn thy, tia hng ngoi, v di ca sng nhit c tp hp bng cc b cm nhn th ng, chng hn nh my qut a ph MSS. Cc b cm nhn linh hot tn dng c tia sng cc ngn vi dng radar c m tng hp SAR. Ci ny c th d ra nhng i tng m khng quan st c vi cc camera thng thng. B cm nhn a ph (v tinh hoc trm khng) chu cp d liu cho dng ca mt vi bc nh cng mt vng trn b mt tri t, thng qua cc di tn ph khc nhau. i vi mt ng dng ring, vic la chn thng tin t mt vi di ph c l l . Vic phn lp hiu qu da vo sa la chn thng minh cc di ph, khng cn phi dng s lng ln. iu g l quan trng chn nhng thng tin quan trng nht trong s chng cho mt ng dng ring bit gim s lng c trng v cng lc gi li c tt c hoc hu ht kh nng phn bit lp. Gi s rng 3 c trng chnh xc c la chn cho vn phn loi ng cc c cp n pha trn. Ri, mt ho 3 chiu c th c th ho trong cc im nh tng ng vi cc lp ng cc khc nhau (ng cc, la m, u) s c tm li vi nhau trong mt khng gian 3 chiu nh 3 nhm khc nhau v chng s c phn chia r rng c ch ra trong hnh 1.5. Vn phn loi tr thnh tm cc cm v cc bin phn cch gia nhng lp ny. Sn lng hng nm ca mi mt sn phm nng nghip ny c th c c tnh, ring bit, t th tch ca chng trong bc nh 3 chiu. ng sau s c lng ng cc nng nghip, cn c nhiu lnh vc khc em li li ch t cng ngh cm nhn t xa. nh danh mt vi ci, k thut ny c p dng thnh cng trong vic gim st mt vng rng ln khng th nm bt c v

52

thm ch khng th bn ho c nhn ra ti nguyn khong. K thut ny cng c s dng iu phi cc min t ln v xa xc nh s tn ti hin thi ca n hay l mt vin cnh tng lai. D liu v tinh rt hu dng cho vic d on thi tit trong tng lai gn, v quan trng trong vic nghin cu s thay i kh hu trong mt thi gian di chng hn nh bo ng ton cu. S chit xut c trng T chit xut c trng ngha l nhn ra nhng c tnh c hu c tm thy trong mt bc nh c thu np. Nhng c tnh ny(hay l nhng c trng, nh thng gi) c dng miu t i tng, hoc thuc tnh ca i tng. Chit xut c trng thc hin trn bc mng nh 2 chiu v cung cp mt vector c trng. c trng c chit xut trc tip t im nh. S chit xut cc c trng l bin i nh dng d liu nh t min khng gian tng quan thnh miu t nguyn vn hiu bit di dng cu trc hoc ng ngha. u tin chng ta lm 2 mc bc nh, sau nhm cc im nh lin nhau vi mt tp hp kt ni 8. Kim tra v xem xem n cung cp thng tin y cha. Nhiu c trng quan tm c tp trung vo hnh dng ca i tng. Hnh dng ca mt i tng hay mt min trong mt bc nh c th biu din bi cc c trng c lm lt li t cc c tnh bin ca hnh dng v cc c tnh v min. V d, vic xc nhn cu trc ca mt bnh rng c th s dng cc c trng nh ng knh ca bnh rng, s lng rng trong bnh rng, khong cch gia cc rng, v hnh dng ng vin ca rng. Cc tnh nng dn xut. i vi mt vi ng dng, s thun li hn v hiu qu hn nu dng cc thng s tnh ton nh cc c trng cho vic phn lp. Nhng c trng ny gi l cc c trng dn xut. Nhn t hnh dng (chu vi bnh phng/min) l mt trong s . l mt s lng khng ph thuc khong cch, bt bin v t l, hng quay cng nh vic chuyn i, khin cho n thnh mt tnh nng rt hu ch v hiu qu cho vic nhn dng hnh dng khc nhau nh hnh trn, hnh vung, tam gic, v elip. M men cng l v d v c trng dn xut. M men c th c s dng miu t cc c tnh ca mt i tng trong mt khong vng ca n, v tr, v hng. Chn f(x,y) i din cho chc nng hay sng ca im nh, hoc 0 en v 1 trng, x v y l 2 to dnh tng ng vi nh gc. Cc m men 0 v m men u tin c th c nh ngha nh sau: Tm khi (tm ca mt vng hoc mt khi), l mt thng s tt cho vic nhn dng v tr ca mt i tng, c th c suy ra t cng thc tnh m men nh sau: Trong x' v y' ln lt l to tm khi lin quan n gc. c trng thu c t p ng ph. Hu ht nh trong th gii thc khng phi l

53

nh n sc, m l nh y sc. Mt hnh dng s xut hin vi mu trng ti ngi quan st khi n phn chiu nh sng cn bng tng ng vi tt c nh sng nhn thy c. Mt khc, mt hnh dng m phn chiu cho ring mt khong gii hn cc quang ph nhn thy th n s trng by mt vi sc mu. Tt c mu sc m mt con ngi nhn thy c l nhng bin c ghp t 3 mu c bn gi l , lc, xanh nc bin. Tuy nhin, 3 mu ny trong mt con ngi trng nhau ng k. i vi mc ch x l nh, mt nh mu hp thnh c th phn tch thnh 3 bc nh thnh phn, mt xanh, mt , mt lc. Ba thnh phn nh ny c th c x l ring r, v ri c ghp li vi nhau hnh thnh mt bc nh mi cho cc ng dng khc nhau. Khi chng ta qut mt bc nh vi mt my qut a ph 12 knh, chng ta s thu c, vi mt im nh n, 12 gi tr, mi ci tng ng vi mt p ng ph tng ng. Mu x s l mt vector gm 12 thnh phn trong mt khng gian 12 chiu. 12 bc nh s c cung cp bi tng my qut. Mi bc nh tng ng vi mt di ph tn ring. 1.4 Vic biu din mu v tin ti s nhn dng my mc ca chng 1.4.1 Mu c biu din trong mt dng vector a chiu Nh tho lun trong phn 1.3.1, s c mt b c tp hp, d liu c o lng sau khi thu nhp. Nu d liu c phn tch l cc i tng vt l hay nh, thit b thu nhn d liu c th l mt camera truyn hnh, mt camera phn gii cao, mt my qut a ph, hoc cc thit b khc. i vi cc loi vn khc, chng hn nh vn v kinh t, h thng thu nhp d liu c th l mt loi d liu. Mt chc nng tin x l d liu l chuyn i mu nhn thy c sang mu in t hoc bin i b d liu ring bit thnh mu ton nhng d liu ny ph hp hn cho phn tch my tnh. Kt qu s l nhng vector mu, xut hin nh mt im trong khng gian mu. lm sng t ny, chng ta hy xem xt mt bc nh nhn thy n gin nh u vo h thng. Nu chng ta qut nh vi mt my qut a ph 12 knh, chng ta thu c, cho mi im nh n, 12 gi tr, mi ci tng ng vi mt p ng ph ring. Nu bc nh c xem nh mt nh mu, 3 thnh phn mu c bn c th thu c, mi ci tng ng ln lt vi di ph , xanh, lc. Mi gi tr thnh phn ph c th coi nh mt bin khng gian n chiu, c bit n nh khng gian mu, mi thnh phn ph c gn vi mt chiu. Mi mu sau xut hin nh mt im nh trong khng gian mu. l mt vector c to bi cc bin thnh phn to n chiu. Mt mu x c th biu din di dng

54

trong k hiu n biu din s lng chiu. Nu n<3, khng gian c th c minh ho bng ho. Khng gian mu X c th c m t bng m vector mu chng hn trong k hiu T theo sau mi vector biu th s chuyn v ca n, xiT= (xi1..xin), i=1..m, biu th cc vector mu. Tnh khch quan ca vic chit xut c trng c ch ra trong hnh 1.6 thc hin chc nng gim chiu (xem phn 1.3.2). N bin i d liu gc thnh mt dng ph hp (cc vector c trng) s dng nh u vo cho x l quyt nh phn lp. R rng, cc vector c trng biu th bi: L trong mt chiu nh hn (r < n) B x l quyt nh c trnh by trong hnh 1.6 thao tc cc vector c trng v chuyn giao cho vic quyt nh phn lp. Nh tho lun trc y, vector mu c t trong khng gian mu nh cc im, v mu thuc v cng mt lp vi vic t nhm cng nhau. Mi nhm biu th mt lp ring bit, v cc nhm im biu th cc lp khc nhau ca mu. B phn lp quyt nh c ci t vi mt b chc nng quyt nh thc hin nh ngha lp m cc mu thuc vo. u vo cho b x l quyt nh l cc b d liu c trng (hoc cc vector c trng). u ra ca b x l quyt nh l trong khng gian phn loi. N l mt khng gian M chiu nu mu u vo c phn loi thnh M lp. i vi vn 2 lp n gin nht, M bng 2, i vi th hin nh khng gian, M c th l 10 hoc hn, v vi nhn dng bng k t, M l 26. Nhng i vi trng hp nhn dng k t Trung Quc, M c th hn 10000. Vi nhng trng hp th ny, cch biu din khc phi c dng b sung. C b tin x l v b x l quyt nh thng c chn bi ngi dng hoc ngi thit k. Chc nng quyt nh c s dng c l l ng k, ng mu, ng khng thng v mt vi loi chc nng khc. H s (hay trng s) c s dng trong b x l quyt nh c tnh ton da trn cc thng tin tho mn u tin ca mu c phn lp, hoc c iu chnh trong sut pha hun luyn. Trong pha hun luyn, mt b mu t mt b hun luyn c trnh ti b x l quyt nh, v cc h s c iu chnh theo xem s phn lp ca mi mu c ng hay khng. iu ny c l gi l b x l quyt nh thch nghi hay o to. Ch rng hu ht h thng nhn dng mu khng c thch ng trc tuyn. H thng nhn dng mu trc tuyn ang c pht trin. Cng phi ch rng thut ton tin x l v quyt nh nn c tch khi c lp ln nhau. Thng thng, k hoch tin x l phi c thay i vic x l quyt nh hiu qu hn. Mt vi n lc c thc hin gi lp h thng nhn dng ca con ngi. H thng nhn dng ca con ngi c nhng kh nng, kt hp, phn mc, tng qut ho, chia loi, chit xut c trng, v ti u ho. Nhng kh nng ny ri vo 3 mc ln, gi l, tm kim, biu th v hc my. Nhng g chng ta c gng l thit k mt h thng m s c nhiu kh nng cng tt. Nh tho lun trc, mt hiu bit u tin phn loi ng mt vi vector d

55

liu cn thit trong pha o to b x l quyt nh. Chng hn vector d liu c ch ra nh nhng nguyn mu c biu th bng: trong k=1..M nh ch s lp mu ring, m=1..Nk ch ra rng nguyn mu th m ca lp Wk v i=1..n nh ch s cho cc thnh phn ca n trong vector mu n chiu. M, Nk v n biu th ln lt s lng lp mu, s lng nguyn mu trong lp Wk th k, v s lng chiu ca vector mu. Cc nguyn mu cng mt lp chia s nhng c tnh chung v do chng c nhm li trong mt min no ca khng gian mu. Hnh 1.7 ch ra mt khng gian mu 2 chiu n gin. Nguyn mu z1 m 1.. z1 m N1 nhm li trong W1, tng t nguyn mu z2 m 1, z2 m N2 c nhm li trong min khc trong khng gian mu W2. N1 v N2 l s lng nguyn mu trong lp W1 v W2, mt cch ln lt. Vn phn lp s n gin l tm ra cc b mt ring bit c mong i thc hin vic chia lp cc mu cha bit khc nu cc tiu chun ging nhau c s dng trong b chia lp. Bi v mu thuc v cc lp khc nhau s c nhm vo cc min khc nhau trong khng gian mu, n v chiu gia cc mu c th c s dng o c s tng quan gia cc mu trong khng gian n chiu. Do , mt vi c tnh c th hnh dung c gia cc h o khong cch c th c lit k: trong x, y v z l cc vector mu v d(.) biu th hm khong cch. Chi tit lin quan n s phn lp mu bng phng php ny c trnh by trong cc chng sau. 1.4.2 Mu c trnh by trong cc dng miu t bng ngn ng hc. Chng ta mi tho lun v vic trnh by mu bng mt vector c trng. Tin trnh nhn dng mu thch hp chia khng gian mu. Phng php ny ni chung m ch nh mt phng php thuyt quyt nh. C s ca phng php ny l s biu th y ngha ca b d liu di dng vector. Mt khc, c nhng mu m c tnh cu trc ca n chim u th trong vic miu t ca chng. i vi nhng mu ny, nhng phng php tip cn khc, gi l nhn dng c php, c l s thch hp hn. C s ca cch tip cn c php l phn tch mt mu thnh cc mu con hoc cc mu nguyn thu. Vic nhn dng mt mu thng c lm bi phn tch ng php cu trc mu theo cc b lut c php. Hnh 1.8a ch ra mt mu tranh nh cha mt hnh tam gic v mt hnh kim t thp. C 2 mt F v tam gic T l nhng phn ca i tng A. Tam gic T1 v T2 l nhng phn ca i tng B. Nn v tng cng hnh thnh nn nn ca cnh. i tng A v B cng vi nn cu thnh nn ton b cnh, nh trong hnh 1.8a. Hnh 1.8b ch ra s biu din theo cp bp ca n. Bi v tnh quy tc cu trc mnh m ca n, bc nh v nhim sc th ca ngi cng l mt v d tt cho vic s dng s m t theo c php. Cng c mt vi s bin dng ca di nhnh, nhng nn tng s ging nhau i vi mt vi loi

56

nhim sc th, chng hn nh nhng ci chnh gia hoc xa trung tm. Nhng bin th ny c th nhn dng bng cch nhn thng thng. Hnh 1.9 cho thy phn tch cu trc ca mt nhim sc th chnh gia. Hnh 1.9a ch ra vic phn tch t di ln trn trn mt nhim sc th chnh gia. Hnh 1.9b ch ra biu din cu trc ca n, v hnh 1.9c ch ra cc gc m chng ta s dng cho vic miu t hnh dng. Khi ng bin ca nhim sc th c quan st theo chiu kim ng h, mt nhim sc th chnh gia c th c biu din bi mt chui chng hn nh abcbabdbabcbadb nu k hiu a,b,c v d tng trng cho cc gc trong hnh 1.9c. Cng vi du hiu , mt nhim sc th xa trung tm c th biu din vi ebabcbab. L rng, mt hnh dng no s c biu din bi mt chui k t no . Trong thut ng ca s nhn dng mu c php, mt ng php, hoc mt b lut c php, c th c hnh thnh sinh ra cc cu cho mt loi nhim sc th no . Cu sinh ra bi 2 ng php khc nhau, gi l G1 v G2 s biu din 2 hnh dng khc nhau, nhng nhng cu sinh ra bi cng ng php, gi chung l G1 biu din mt loi ging nhau (nhim sc th tm), vi s b qua cho nhng thay i t l hnh dng nh. K t Trung Quc l mt v d hay khc v ng dng trong vic m t c php. Chng c to ra v pht trin theo mt nguyn tc no , chng hn nh m v nh v biu tng. Chng bao gm cc yu t gc khc nhau v c nhng lut l cu trc ring cht ch. Vi nhng lut l v ng ngha bt di bt dch ny, hng ngn k t Hoa c cu to phc tp c th c tch ring v kt hp li. Do , tng s thng tin s c gom li rt ln. Hng ngn cc biu tng phc tp ct h c biu din bi mt vi cu ng php dng nhng t gc hnh thi hc. C th d dng thy rng tng s t gc hnh thi c s t hn con s 1000 rt nhiu, v do tnh phc tp ca t gc cng n gin hn k t gc rt nhiu. iu l c th, trong khi y, dng "mo" ng mt vai tr quan trng trong vic nhn dng mu v suy lun ng php v nhng k t ny. Thm vo m t cu trc ton b k t, tip cn cu trc c p dng n miu t nguyn thy v chit xut cho vic nhn dng k t Trung Quc. 1.4.3 Tip cn ti cc i tng phn chia tt nht cho s phn hng d liu c cp pha trn Cch gii quyt cho vic phn lp mu hoc i tng c th c nhm li thnh 2 mc: (a) tip cn cu trc hoc c php v (b) tip cn thuyt quyt nh. i vi mt vi vn ring tip cn c cu trc hoc c php ph hp nht, trong khi i vi mt vi vn ring r khc th tip cn quyt nh li ph hp hn. S la chn cch gii quyt ph thuc chnh yu vo b d liu gc lin quan n vn . i vi nhng vn m thng tin v cu trc a dng, c l s rt thun tin s dng phng php c php t c sc mnh ca n cho vic m t vn . Nu d liu lin quan trong vn c nhn mnh tt hn di dng vector v cng mt thi im thng tin v cu trc v mu khng c ci trng, th phng php thuyt quyt nh c ngh cho vic phn lp ca chng. Tuy nhin,

57

khng tt nu qu tuyt i vo iu g. C nhiu ng dng dng cho c 2 trng hp trn. Trong nhng trng hp nh th ny, c 2 cch tip cn trn b sung cho nhau. C l d dng hn hoc hu ch hn s dng phng php thuyt quyt nh rt ra mt vi c tnh chnh yu ca mu cho tip cn c php, c bit cho cc mu b nhiu v mo. Mt khc, phng php c php c th gip a ra mt bc tranh cu trc thay v mt kt qu ton hc n t c thng qua vic s dng tip cn thuyt quyt nh. Mt s phi hp bao hm c 2 cch tip cn ny c th cho mt kt qu rt hiu qu v mt s thc t cho vic nhn dng mu. Trong cun sch ny, chng ta cng s gii thiu tip cn mng thn kinh gii quyt mt vi vn phn lp khng c quy lut. 1.5 ng dng h bin ho K thut nhn dng mu c th c p dng thm cho mt s loi vn nhiu hn c th lit k c. Ngi c khng nn b hn ch bi nhng ng dng theo sau ny, v n ch c dng minh ho. 1.5.1 D bo thi tit Trong vic d bo thi tit, bn ng p sut trn mt vng no (hnh 1.10) cu thnh thng tin quan trng nghin cu. T nhng kinh nghim trc v hiu bit chuyn mn, mt vi mu (15 hoc hn, ph thuc vo tng vng) c th c ch r trn cc b bn d liu. Bi ton d bo thi tit tr thnh vic phn lp cc mu ng p sut ang tn ti v lin h chng vi cc trng thi thi tit khc nhau. Vic phn lp t ng v bn t ng bng my tnh tr nn cn thit khi m s lng bn tng ln. 2 phng php c s dng thng xuyn cho vic phn lp bn ng p sut l phng php tng quan v phng php phn tch cu thnh nguyn l. (KL). C 2 phng php ny s cho ta nhng c trng ton cc. ng dng cho phng php c php cho bi ton d bo thi tit, chng hn nh s dng chui hoc cy biu din cho bn ng p sut, cng ang c nghin cu. 1.5.2 Nhn dng k t vit tay Cc ng dng nhn dng k t vit tay ch yu dng cho vic sp xp th. Bi ton ny c nghin cu t rt lu. Do s a dng rng ln trong ch vit tay (xem hnh 1.11 l k t vit tay ca mt s ngi khc nhau) m t l nhn dng ng vn cha p dng trong thc tin. Rt nhiu cch tip cn c ngh cho vic nhn dng ch vit tay. Rt nhiu, 121 k t khc nhau, bao gm 52 ch latinh vit hoa v thng, 10 s, v cc k hiu khc, c bo co c th nhn dng ho. Nhn dng my mc cc k t phc tp hn nh k t Hoa cng ang c nghin cu. 1.5.3 Nhn dng ging ni

58

Nhn dng ging ni c rt nhiu ng dng. Mt trong s l ng dng ca n h tr cho vic iu khin bng tay trong sp xp th. Khi th khng c sp xp hin ln trn mn hnh t ng sp xp nhiu hn hot ng bng tay c th thc hin, nhn dng ging ni c th c s dng nh mt bin php ph tr. Bn cht ca nhng phng php nh th ny c ch ra trong hnh 1.12 Cc k hiu in in c bin i t cc t c ni u tin c lc v ly mu thng qua cc b lc di m iu vi tn s trung tm t 200 n 7500Hz. Mt vi thng s ring, chng hn nh nh cc b ph, nng lng ging ni, v nhng ci biu din mu th ca ph, c chit xut cho s phn mnh v nhn dng m v. Li xut hin trong qu trnh phn mnh v nhn dng m v c sa bng cch iu chnh cc quy tc sa li m v, v ri tnh ton tng quan c thc hin v cc t tng quan nht c chn cho gii php. . 1.5.4 Phn tch ECG gip cho vic chun on hot ng ca tim Hnh1.13 ch ra mt bn thu ECG in hnh c ly vi mt my o nhp tim. Thng tin v trng thi tim ca bnh nhn v li ch gii ca bc s ni khoa c th d dng thu li vi dng sng di mt nh dng d dng to file cho vic xem xt sau ny. Hnh 1.14 cho ta xem mt phin bn khuch i ca ECG trong hnh 1.13, cng nh cc thng s ECG. Nhng thng s ny rt hu ch cho vic chun on hot ng ca tim bnh nhn. 1.5.5 Phn tch y hc bng chp tia x ngc Bnh ngh nghip gy ra cc vn ng quan tm cho cng nhn do s la chn ngh nghip. Gn nh cc phng thuc cho nhng bnh th ny ph thuc vo vic chun on sm v chnh xc. Mt v d l bnh ho ca ngi cng nhn th m than , mt cn bnh v phi do vic ht phi lin tc cc bi kim loi v khong cht kch ng. Triu chng chnh l s gim thng lng ca phi. (xem hnh 1.15 xem mt du hiu chp tia x ngc bt thng ca mt bnh nhn). Chun on chnh xc ph thuc vo vic phn bit chnh xc cc mu khc nhau m c rt nh t cc bch huyt phi thng thng. Nhng vt m ny xut hin y , thnh thong trong mt k xng sn v thnh thong trong xng sn. Nhng ci xut hin trong khong khng ca xng sn, b che ph bi bng ca xng cng vi cc ng mch phi chnh, khin cho rt kh nhn ra. K thut nhn dng mu c th hu dng p dng cho vn ny. thc hin nhim v ny, tia rn ghen chp ngc phi c x l xuyn qua nhng ng mch phi chnh, cc ng xng sn, v tip na, cung cp mt khung tham kho cho cc i tng nghi ng c pht hin. im khc bit trong cc c trng v kt cu khc nhau c s dng chia cc tia x chp ngc ca th m than thnh lp bnh thng v bt thng. Bn hng mc chnh c thnh lp ch nh mc c tnh ca cn bnh tu theo s lng ln ca vt m c trong vng phi.

59

1.5.6 Lm r nhng bc nh chp t v tinh v khong khng Cc bc nh chp t v tinh v khong khng c s dng cho c mc ch qun s ln thng dn. Trong s cc ng dng thng dn, vic pht hin t xa ti nguyn tri t trn hoc di b mt ca tri t l mt ch quan trng nghin cu, c bit trong thi i khi m chng ta ang quan tm n nn kinh t ton cu. Pht hin t xa c cc ng dng to ln a dng trong ngnh nng nghip, lm nghip, quy hoch thnh ph, a cht, a l, v trin khai ng ray xe la. D liu nhn c t v tinh hoc t bng c thu m trong chuyn bay u tin c lu tr v tng cng di dng nh, v ri c lm sng t bng mt chuyn gia. Thun li ch yu vi vic lm sng t s hin th phi cn lm th cng nhiu v o to rt su sc. Thm vo , sng t hin th khng th lun lun nh gi y cc c tnh quang ph. iu ny l bi v gii hn nng lc ca mt ngi thy r gi tr vt ngng trn bc nh v s kh khn mt ngi lm sng t trong vic phn tch mt bc nh rt nhiu quang ph ngay lp tc. Trong cc ng dng m cc mu quang ph l cung cp nhiu sng, do m s hp l hn khi phn tch s lng hn l d liu ca nh. V nhng l do ny, x l d liu my tnh v phn lp mu s ng mt vai tr quan trng khng ngng tng trong nhng ng dng ny. C mu khng gian v thi gian u c nghin cu tm ra nhng vn khc bit. Chi tit v nhng ng dng ny s khng c trnh by y, l mt bi ton cn c lm r hn c gii thch sau minh ho cho mt vi quy tc c tho lun trong chng 5.

60

You might also like