Я использую реализацию Sift Vlfeat.org. Он имеет функцию follwing, которая должна сохранять функции в файле.Просеивание реализации в Vlfeat
def process_image(imagename,resultname,params="--edge-thresh 10 --peak-thresh 5"):
""" process an image and save the results in a file"""
if imagename[-3:] != 'pgm':
#create a pgm file
im = Image.open(imagename).convert('L')
im.save('tmp.pgm')
imagename = 'tmp.pgm'
cmmd = str("sift "+imagename+" --output="+resultname+
" "+params)
os.system(cmmd)
print 'processed', imagename, 'to', resultname
Здесь как строка «os.system (cmmd)» должна записывать результаты в файл?
Я нахожусь на машине ubuntu, и если я выполняю команду «просеять» в терминале, я получаю результат как «не найден». В Linux, какой процесс пытается выполнить эта команда? Мне нужно сохранить эти функции Sift в файл, чтобы потом я мог использовать его для создания дескриптора Bag of Words для кластеризации.
Аналогичная реализация просеивания в https://github.com/jesolem/PCV/blob/master/PCV/localdescriptors/sift.py также использует ту же строку для сохранения результата в файл.
спасибо ...! Это сработало. Я добавил путь просеивания к системному пути, так что мне не нужно корректировать путь в коде. Однако это работает в терминале, но Pydev не меняет этот путь, и я вынужден изменить путь в коде. – Erdnase