Brennivíddarforritið
Hér er python scriptið sem ég nota til að greina notkunartíðni brennivíddar á myndunum mínum. Þetta er óskaplega einfalt og ómerkilegt en virkar. Ég nota PIL til að lesa exif upplýsingar. Renni í gegnum allar myndir í foldernum sem scriptið er keyrt í og alla undirfoldera. Les skrár sem enda á .jpg en ekki _t.jpg (thumbnail á myndasíðunni minni). Nota fasta (FocalLength) til að fletta upp brennivídd. Það er nóg að skipta honum út fyrir viðeigandi fasta til að skoða iso eða ljósop. Held utan um gögn í dictionary og dumpa svo út í lokin.
# -*- coding: iso-8859-1 -*- import Image import os.path FocalLength = 37386 def lesa_focallengd(mynd): try: exifinfo = mynd._getexif() a,b = exifinfo[FocalLength] focalLength = int(a/b) return focalLength except: return None def foo(m, dirname, file_names): print dirname for skra in file_names: if skra.lower().endswith(".jpg") and not skra.lower().endswith("_t.jpg"): nafn = os.path.join(dirname, skra) mynd = Image.open(nafn) mm = lesa_focallengd(mynd) print skra, mm if mm: try: m[mm] += 1 except: m[mm] = 1 if __name__ == "__main__": m = {} os.path.walk(os.getcwd(), foo, m) for key, value in m.iteritems(): print key, value