; tvorba osy x od -10*pi do +10*pi s krokem 0.1 stupne x=findgen(36001)-18000 x=x/10.*!DTOR ; jednoduchy graf plot, x, sin(x) oplot, x, cos(x) ; nadepsane osy, jiny styl cary, druha osa plot, x, sin(x), xtitle='alfa', ytitle='sin(alfa)', ystyle=8 oplot, x, cos(x), linestyle=1 axis, yaxis=1, ytitle='cos(alfa)' ; omezeni mista pro kresleni druhe osy plot, x, sin(x), xtitle='alfa', ytitle='sin(alfa)', ystyle=8, position=[0.1,0.1,0.9,0.95], /norm oplot, x, cos(x), linestyle=1 axis, yaxis=1, ytitle='cos(alfa)' ; pridame sum seed=systime(/julian) sum=randomu(36001, seed)-0.5 plot, x, sin(x)+sum oplot, x, sin(x), thick=2 fsin=fft(sin(x)+sum) plot, alog(abs(fsin)) ; budeme filtrovat ; hladky filtr gaussovskeho tvaru sigma=20 ; v pi gauss=exp((double(x)-mean(double(x)))^2/double(sigma)^2) ; normalizace filtru gauss=(gauss-min(gauss))/(max(gauss)-min(gauss)) plot, x, gauss ;zpetna transformace fx=fft(fsin*gauss, /inverse) ; jak je to dobre? plot, x, sin(x) oplot, x, sin(x)-fx ; velikost chyby ; hrani si s obrazky read_jpeg, 'bridge.jpg', most, /gray tvscl, most ; napraveni spatneho otoceni tvscl, rot(most, 2) ; ekvivalence histogramu plot, histogram(most) novymost=hist_equal(most) plot, histogram(novymost) ; vyznaceni preexponovanych mist i=where(most gt 254, ci) most[i]=255 tvlct, [[255],[0],[0]],255 tvscl, most ; barevne skaly loadct, 4 tvscl, most loadct, 4 paleta=bytarr(256,3) tvlct, paleta, /get for i=0,127 do paleta[i,*]=replicate(i,3) tvlct, paleta tvscl, most for i=0,2 do paleta[*,i]=smooth(paleta[*,i],50) tvlct, paleta tvscl, most ; zaostreni <- zvyrazneni hran hrany=sobel(most) flick, bytscl(most), bytscl(most*(1+0.0005*hrany)) ; barvy (napr. golden gate a vymalovat jen tu barvu, ktera prevazuje v kanalech) loadct, 0 read_jpeg, 'bridge.jpg', most tv, most, /true most1=bytarr(748,1000) for i=0,747 do for j=0,999 do most1[i,j]=rebin(where(most[*,i,j] eq max(most[*,i,j])),1) tvlct, [[255],[0],[0]], 0 tvlct, [[0],[255],[0]], 1 tvlct, [[0],[0],[255]], 2 tv, most1 ; rois read_jpeg, 'bridge.jpg', most, /gray ;mask=roimask(most, /reversemask) mask=roimask(most) tvscl, mask end