Vlfeat.org의 Sift 구현을 사용하고 있습니다. 그것은 기능을 파일에 저장해야하는 다음과 같은 기능을 가지고 있습니다.Vlfeat의 Sift 구현
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)"행이 파일에 결과를 기록하는 방법을 설명합니다.
우분투 컴퓨터에 있는데 터미널에서 "sift"명령을 실행하면 "찾을 수 없음"이라는 결과가 나타납니다. 리눅스에서,이 명령은 어떤 프로세스를 호출하려고합니까? 이 Sift 기능을 파일에 저장해야 나중에 클러스터링을위한 Bag of Words 설명자를 작성할 수 있습니다.
https://github.com/jesolem/PCV/blob/master/PCV/localdescriptors/sift.py에서 유사한 sift 구현은 동일한 행을 사용하여 결과를 파일에 저장합니다.
고맙습니다 ...! 이것은 효과가 있었다. 시스템 경로에 sift 경로를 추가하여 코드에서 경로를 조정해야합니다. 그러나 이것은 터미널에서 작동하지만 Pydev는이 경로 변경을 수행하지 않고 있으며 코드에서 경로를 변경해야합니다. – Erdnase