00001
00002
00003
00004
00005
00006
00007
00008
00009 import time
00010
00011 from fulguro import *
00012
00013
00014 def benchmark(function,nbiter,*args):
00015 t=time.time()
00016 for i in range(nbiter):
00017 function(*args)
00018 t2=time.time()
00019 return ((t2-t)*1000)/nbiter
00020
00021 def getNhbMin(result,extr):
00022 flgr2d_get_nhb_minimum(result,extr)
00023
00024
00025
00026
00027
00028
00029
00030
00031 imin = flgr2d_load_pgm('../../images/gray/lena.pgm')
00032 imout1 = FLGR_Data2D(imin)
00033 imout2 = FLGR_Data2D(imin)
00034 nhb1 = FLGR_Data2D(3,3,imin.spp,imin.type,FLGR_RECT,FLGR_8_CONNEX)
00035
00036
00037
00038 flgr2d_data_set_shape(nhb1,FLGR_USER_SHAPE)
00039
00040
00041 speed = benchmark(flgr2d_erode,10,imout1,imin,nhb1)
00042 print 'C layer neighborhood operation speed: ',speed,'ms'
00043
00044 speed = benchmark(flgr2d_raster_slide_window,1,imout2,imin,nhb1,FLGR_NHB_NO_SYM,getNhbMin)
00045 print 'Python layer neighborhood operation speed: ',speed,'ms'
00046
00047
00048
00049
00050 flgr_display(imout1,'erode',
00051 imout2,'erode_user_filter')