Tuesday, October 6, 2009

Laplacian Enhancement in IDL

;####################################################

; Laplacian Enhancement

;                  Author : S.Ganesh Babu

;####################################################

PRO EX14

file = DIALOG_PICKFILE(PATH='E:\Image')

im = READ_IMAGE(file)

sz=SIZE(im,/DIMENSIONS)

nv=SIZE(sz,/DIMENSIONS)

nim=im

ker=[[0,1,0],[1,-4,1],[0,1,0]]

IF nv EQ 2 THEN BEGIN

nim=CONVOL(im,ker)

nim=im-nim

WINDOW,0,XSIZE=sz[0],YSIZE=sz[1],TITLE='INPUT IMAGE'

TV,im

WINDOW,1,XSIZE=sz[0],YSIZE=sz[1],TITLE='Laplacian filtered'

TVSCL,nim

ENDIF ELSE BEGIN

RC = REFORM(im[0,*,*])

GC = REFORM(im[1,*,*])

BC = REFORM(im[2,*,*])

rim=CONVOL(RC,ker)

gim=CONVOL(GC,ker)

bim=CONVOL(BC,ker)

nim[0,*,*]=rim

nim[1,*,*]=gim

nim[2,*,*]=bim

nim=im-nim

WINDOW,0,XSIZE=sz[1],YSIZE=sz[2],TITLE='INPUT IMAGE'

TVSCL,im,TRUE=1

WINDOW,1,XSIZE=sz[1],YSIZE=sz[2],TITLE='Laplacian filtered'

TV,nim,TRUE=1

ENDELSE

END

;####################################################

; Laplacian Enhancement

;                  Author : S.Ganesh Babu

;####################################################

PRO EX14

file = DIALOG_PICKFILE(PATH='E:\Image')

im = READ_IMAGE(file)

sz=SIZE(im,/DIMENSIONS)

nv=SIZE(sz,/DIMENSIONS)

nim=im

ker=[[0,1,0],[1,-4,1],[0,1,0]]

IF nv EQ 2 THEN BEGIN

nim=CONVOL(im,ker)

nim=im-nim

WINDOW,0,XSIZE=sz[0],YSIZE=sz[1],TITLE='INPUT IMAGE'

TV,im

WINDOW,1,XSIZE=sz[0],YSIZE=sz[1],TITLE='Laplacian filtered'

TVSCL,nim

ENDIF ELSE BEGIN

RC = REFORM(im[0,*,*])

GC = REFORM(im[1,*,*])

BC = REFORM(im[2,*,*])

rim=CONVOL(RC,ker)

gim=CONVOL(GC,ker)

bim=CONVOL(BC,ker)

nim[0,*,*]=rim

nim[1,*,*]=gim

nim[2,*,*]=bim

nim=im-nim

WINDOW,0,XSIZE=sz[1],YSIZE=sz[2],TITLE='INPUT IMAGE'

TVSCL,im,TRUE=1

WINDOW,1,XSIZE=sz[1],YSIZE=sz[2],TITLE='Laplacian filtered'

TV,nim,TRUE=1

ENDELSE

END

No comments: