#!/usr/bin/python
# Using imgSeek module to separate webcams from a pooled images

# Add reference image to database before running first!
# imgSeekCmd add -d /home/nyk/ideas/baeren_cams

imgdir='/home/nyk/cams/webcam_latest/' # input webcam pool directory
outdir='/home/nyk/cams/' # output directory
tempdir='/home/nyk/ideas/baeren_cams/' # cam template directory

import os, shutil
from imgSeekLib import ImageDB,__version__
from imgSeekLib.Settings import Env
curdb=ImageDB.ImgDB(Env())
curdb.opendb(os.path.expanduser(os.path.join("~",".imgseek","img-db.iqd")))
cams=sorted(os.listdir(tempdir))
done=[]
for i in range(len(cams)):
 d='%sbaerenpark%d' % (outdir,i)
 if not os.path.isdir(d): os.mkdir(d)
 else: done+=os.listdir(d)
imagefiles=sorted(os.listdir(imgdir))
cnt=0
for f in imagefiles:
 if f in done: print 'Done:',f; cnt+=1; continue
 res=curdb.queryImage(imgdir+f,1,1,removeFirst = 0)
 if not res: continue
 rid,rsc=res[0]
 if rsc<40: continue
 cnt+=1
 rfn=os.path.basename(curdb.img[rid][0])
 nb=cams.index(rfn)
 print '%s -> cam%d @ %d%%' % (f,nb,rsc)
 shutil.copy(imgdir+f,'%sbaerenpark%d' % (outdir,nb) )
print 'Matched %d of %s' % (cnt,len(imagefiles))