Python + numerikus számítási csomagok
A Python egy interpretált, általános célú programozási szkriptnyelv. Több évtizedes fejlődési múltra tekint vissza. Előnye, hogy megköveteli a programozótól az olvasható programkód készítést, valamint a nyelvi szerkezetei is közel állnak az emberi nyelvhez. Elsajátítása így viszonylag egyszerű.
A nyelv erejét a hozzá telepíthető rengetegféle funkciót ellátó csomag jelenti még. Különösen erős a numerikus számításokhoz tartozó funkciók elérhetősége. Emiatt ingyenes és nyílt forráskódú alternatívája tud lenni például a Matlab-nak is. A nyelvhez és a csomagokhoz számos angol nyelvű dokumentáció elérhető.
Néhány népszerű, tudományos számításokhoz és képfeldolgozáshoz kapcsolódó csomag
- Numpy ("Numerical Python"). A nyelv kiterjesztése többdimenziós mátrixok hatékony kezelésével. A többi csomag alapját képzi. Célszerű a hatékony adatelérésre kidolgozott MKL (Intel Math Kernel Library) csomaggal együttes változatát használni!
- SciPy ("Scientific Python"). Numpy csomagra épülő, numerikus számítási algoritmusokat tartalmazó csomag.
- MatPlotLib. Numpy csomagra épülő, diagramrajzoló és vizualizációs csomag.
- Scikit-image. SciPy kiterjesztése további képfeldolgozó műveletekkel.
- Mahotas. Számítógépes látás algoritmusok.
- Pillow. Számos képformátum betöltése és képek feldolgozása.
- Pandas. Adatmanipulációhoz és elemzéshez, magasszintű hozzáférést biztosít táblázatba rendezett adatokhoz. Numpy csomagra épül, de célszerű a SciPy és MatPlotLib csomagok telepítése is.
Több, a képfeldolgozás területén használatos komplex C++ függvénykönyvtár is rendelkezik Python felülettel
- OpenCV. Képfeldolgozó és számítógépes látás algoritmusok.
- SimpleITK. Az Insight Toolkit (ITK) egyszerűsített interfésze. Az ITK de-facto szabványnak számít a 3D orvosi képek szegmentálási és regisztrációs algoritmusainál.
- VTK ("Visualization Toolkit"). Inkább 3D számítógépes grafikai csomag, de feladatai közé tartozik a képek vizualizációja és egyszerűbb feldolgozása is.
- Open3D. 3D pontfelhők reprezentációja és feldolgozása.
Gépi tanulási csomagok, amelyek képfeldolgozásban is hasznosak
- Scikit-learn. A Python alapértelmezett gépi tanulási csomagja.
- Tensorflow + Keras. A Google gépi tanulási csomagja magasszintű API felülettel.
További hasznos Python csomagok
- IPython ("Interactive Python"). Python parancssori képességeinek nagyfokú bővítése. Matlab-szerű prototípus készítés érhető el a segítségével.
- PyQt. Komplex, interaktív felhasználói felület készítéshez a népszerű Qt csomagra épülve.
- Jupyter Notebook. Weboldalba ágyazható munkafüzet, amely Python kódok futtatására és eredményeinek megjelenítésére is képes.
Számos képfeldolgozó és modellező program a Python nyelven keresztül teszi lehetővé a funkcióinak bővítését.
- GIMP ("GNU Image Manipulation"). Ingyenes képmanipulációs program, a PhotoShop alternatívája.
- Blender. Ingyenes 3D modellező és animációs program.
- 3D Slicer. 3D orvosi képmegjelenítő és feldolgozó szoftver.