Obzvlášť pak hroznýš? Malé savce, ptáky, velký hroznýš pak i velké savce. Já tady po vzoru softwarové sklizně zkusím zveřejňovat odkazy na zajímavé knihovny pro Python či projekty v Pythonu, na které jsem narazil.
Tohle není o kreditních kartách. Dostal se mi do rukou multimeter Agilent, který se dá připojit přes USB nebo LAN. Po nainstalování ovladačů a dokumentace na mě vyskočil pojem VISA – Virtual Instrument Software Architecture, což je jakýsi industry standard pro připojování zařízení – hlavně měřáků k počítači. Tahle knihovna umí připojení po USB, LAN, Serial, Linux i Windows. Jednoduše použitelná:
from visa import * my_instrument = instrument("Instrument:1") my_instrument.write("*IDN?") print my_instrument.read()
Další věc, kterou pak musíte znát, jsou ty vlastní příkazy pro ovládání měřáků (SCPI). Najdete je v dokumentaci k tomu měřáku.
Tohle je opravdu velká věc. Je to knihovna pro Computer Vision a já jsem ji našel, když jsem potřeboval zobrazovat video stream z kamery. Ve Windows jsou tyhle věci extrémně složité. S opencv to jde. A protože jsem to dlouho hledal, tak aspoň napíšu, jak v principu na to, s opencv-2.4.2:
import cv2 global camera camera = None def snap(): global camera if camera is None: camera = cv2.VideoCapture(-1) camera.set(3, 960) # set resolution camera.set(4, 720) if camera.isOpened(): rval, frame = camera.read() else: rval = False if rval: return frame return None def timer_handler(evt): frame = snap() if frame: set_image(frame) global bmp bmp = None def set_image(frame): global bmp frame = cv2.cvtColor(frame, cv2.COLOR_BGR2RGB) # moje kamera vrací BGR if bmp is None: bmp = wx.BitmapFromBuffer(len(frame[0]), len(frame), frame.tostring()) else: bmp.CopyFromBuffer(frame.tostring()) # ten bmp už si zobrazíte sami
Pořád ještě nejsem ve stavu, že bych řekl: Vykresluj výstup z kamery do tohoto okna, a driver by si to zařídil, ale takhle mi to pro teď stačí.
Než jsem našel opencv, tak jsem zkoušel tohle. Bohužel to umí pouze sejmout jednotlivé obrázky a vrátit je jako PIL image, a dostanete z toho nanejvýš slideshow. Na druhou stranu je to malá knihovna, takže když vám slideshow stačí, tak proč ne.
Tohle už všichni znáte. Generuje pdfka. Jakákoliv pdfka. Umí asi vpodstatě vše, co byste tak v pdfkách chtěli, má nějaké nástroje pro generování layoutů a nějakých prvků (ty nejsložitější jsou tabulky a grafy). Je to rozsáhlá knihovna, ale začít s ní není až tak složité.
Zatímco vygenerovat čárové kódy code39 nebo code128 je banální, s 2D kódama – konkrétně datamatrixem – je to o poznání složitější. Vlastně jediný použitelný projekt, který jsem před pár lety našel byl tento libdmtx. Tenkrát jsem si ho napojil sám přes ctypes, teď vidím, že už tam mají i python wrapper.
Pozn.: Pod pojmem použitelý si představuju: Dostatečně malý, dostatečně self-contained, funkční i ve Windows, s licencí použitelnou ve firmě.
To by pro dnešek mohlo stačit. Chtěl bych to brzo zopakovat, ale nečekejte něco každý týden, protože budu mít tendenci zde popisovat věci, které sám používám, nebo jsem je aspoň někdy použil.
Jmenuju se Petr Blahoš. Programuju něco přes 20 let. Tady se snažím psát hlavně o Pythonu, webovém frameworku Pyramid, a občas i o něčem úplně jiném.
Přečteno 18 924×
Přečteno 11 705×
Přečteno 9 033×
Přečteno 8 561×
Přečteno 8 364×