;##################################################
; HISTOGRAM
; Author : S.Ganesh Babu
;##################################################
PRO EX2
file=DIALOG_PICKFILE(PATH='E:\Image',FILTER=['*.*'])
im = READ_IMAGE(file)
sz=SIZE(im,/DIMENSIONS)
nv=SIZE(sz,/DIMENSIONS)
IF nv EQ 3 THEN BEGIN
WINDOW,0,XSIZE=sz[1],YSIZE=sz[2],TITLE='IMAGE'
TV,im,TRUE=1
CH=1
ENDIF ELSE BEGIN
WINDOW,0,XSIZE=sz[0],YSIZE=sz[0],TITLE='IMAGE'
TV,im
ENDELSE
WHILE CH DO BEGIN
R = REFORM(im[0,*,*])
G = REFORM(im[1,*,*])
B = REFORM(im[2,*,*])
Rh=FLTARR(256,1)*0.0
Gh=FLTARR(256,1)*0.0
Bh=FLTARR(256,1)*0.0
FOR i=0,sz[1]-1 DO BEGIN
FOR j=0,sz[2]-1 DO BEGIN
Rh[R[i,j]]=Rh[R[i,j]]+1.0
Gh[G[i,j]]=Gh[G[i,j]]+1.0
Bh[B[i,j]]=Bh[B[i,j]]+1.0
ENDFOR
ENDFOR
totpix=FLOAT(sz[0]*sz[1])
WINDOW,1,XSIZE=300,YSIZE=300
PLOT,Rh,TITLE='R HISTOGRAM',XTITLE='PIXEL VALUE',YTITLE='NO OF OCCURENCE'
WINDOW,2,XSIZE=300,YSIZE=300
PLOT,Gh,TITLE='G HISTOGRAM',XTITLE='PIXEL VALUE',YTITLE='NO OF OCCURENCE'
WINDOW,3,XSIZE=300,YSIZE=300
PLOT,Bh,TITLE='B HISTOGRAM',XTITLE='PIXEL VALUE',YTITLE='NO OF OCCURENCE'
IF (CH EQ 1) THEN BREAK
ENDWHILE
END
No comments:
Post a Comment