;####################################################
; 2D DCT Transform
; Author : S.Ganesh Babu
;####################################################
PRO EX15
file = DIALOG_PICKFILE(PATH='E:\Image')
im = READ_IMAGE(file)
sz=SIZE(im,/DIMENSIONS)
nv=SIZE(sz,/DIMENSIONS)
nim=im
IF nv EQ 2 THEN BEGIN
FOR i = 0,sz[0]-2 DO BEGIN
FOR j = 0,sz[1]-2 DO BEGIN
IF i EQ 0 THEN begin
nim[j+1,i+1]=1/sqrt(sz[0])
endif else begin
nim[j+1,i+1]=sqrt(2./sz[0])*cos(((2.*i+1)*j*3.14)/(2.*sz[0]))
endelse
ENDFOR
ENDFOR
print,nim(1:10,1:10)
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
;####################################################
; 2D DCT Transform
; Author : S.Ganesh Babu
;####################################################
PRO EX15
file = DIALOG_PICKFILE(PATH='E:\Image')
im = READ_IMAGE(file)
sz=SIZE(im,/DIMENSIONS)
nv=SIZE(sz,/DIMENSIONS)
nim=im
IF nv EQ 2 THEN BEGIN
FOR i = 0,sz[0]-2 DO BEGIN
FOR j = 0,sz[1]-2 DO BEGIN
IF i EQ 0 THEN begin
nim[j+1,i+1]=1/sqrt(sz[0])
endif else begin
nim[j+1,i+1]=sqrt(2./sz[0])*cos(((2.*i+1)*j*3.14)/(2.*sz[0]))
endelse
ENDFOR
ENDFOR
print,nim(1:10,1:10)
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:
Post a Comment