Skip navigation

Fertőzött régió detektálása HSV álszínezéssel

1. megközelítés

Megvizsgáltuk, hogy egyáltalán lehet-e valahogy egy „hagyományos” színes képen szemléltetni a hiperspektrális, 448 csatornás képet. Az ötlet az volt, hogy konvertáljuk át a hiperspektrális képet HSV színtérbe. A HSV színtérbeli kép H(=Hue) csatornája a színeket, az S(=Saturation) a telítettséget, a V(=Value) csatornája pedig a világossági értéket reprezentálja.

Minden (x,y) pixel esetén a vegyük kétcsatornánként a pixelen lévő intenzitások átlagát, és ezek közül nézzük meg, hogy ezen (x,y) pixelen a két csatorna átlagos intenzitása nagyobb-e, mint a más csatorna-párok esetében számolt átlag. Ha igen, akkor Hue csatornára az (x,y) pontban jegyezzük fel ennek a csatorna-párnak a sorszámát.

Ezáltal egy olyan színes képhez jutunk, amelynek minden pixelében tudjuk, hogy mely csatorna-páron volt a maximális intenzitás. Nagyon érdekes megfigyelés volt számunkra, hogy a kontroll csiperkének a „színe” ezen HSV képen teljesen más volt, mint a fertőzött csiperkék esetében. Fontos megemlíteni, hogy a fertőzött csiperkék esetében ez a „szín” eléggé változatos volt. Hogyan lehet ezt az eredményt értelmezni? Létezik olyan hiperspekrális hullámhossz (csatorna), amelyen a kontroll gomba természetes rothadása nagy bizonyossággal megállapítható és egyszerűen küszöbölhető.

Tapasztalat

Ezen transzformáció mentén próbáltuk a fertőzött gombákat is különböző statisztikai és képi jellemzőkkel szegmentálni, de nem jártunk sikerrel. Tehát ebben a stádiumban csak arra van eszközünk, hogy megmondjuk, hogy egy vizsgált gomba fertőzött-e. További kérdést jelent az, hogy ha fertőzött, akkor mennyire, milyen stádiumban van és mivel van fertőzve.

2. megközelítés

További kísérleteket tettünk a fertőzött részek vizsgálatára, azok meghatározására. A hiperspektrális képeken most azt vizsgáltuk, hogy egy-egy csatornán mekkora a fertőzött és nem fertőzött csiperkék átlagos intenzitása. A csiperkéket háttérlevonással szegmentáltuk, és az így szegmentált képet maszkként használtuk. A képen lévő elrendezésből tudtuk azt is, hogy melyek a fertőzött és melyek a kontroll csiperkék. Minden csatornára kiszámoltuk külön a fertőzött és külön a (természetesen rothadó) kontroll csiperkék átlagos intenzitását.

Tapasztalat

Az eredmény nagyon figyelemre méltó volt, ugyanis a fertőzött csiperkék átlagos intenzitása szinte minden csatornán növekedett, a napok elteltével és a fertőzés terjedésével egyre világosabb lett, míg a természetesen rothadó kontroll csiperkék intenzitása csupán kis mértékben változott. Ez az eredmény azt mutatja, hogy néhány nap elteltével a fertőzött részek eléggé jól elkülöníthetőek a nem fertőzött részektől. Sajnálatos módon, azonban az első néhány napban nincs jelentős eltérés a fertőzött és nem fertőzött csiperkék között, vagyis nehéz idejekorán elkülöníteni a fertőzött gombákat.

Abban az esetben, ha más (ismeretlen) fertőzés is jelen van, -  mint például boltban vásárolt csiperke vizsgálatok alkalmával, - nem lehet elkülöníteni a régiókat. 

Látványos eredményt nem sikerült elérni az Mp10 és Mp20-as fertőzések során sem (a számok különböző koncentrációt jelentkenek).

A HSV megjelenítés eredményei. A fenti MAXPOS ábrán jól látható, hogy van olyan szelet, ahol eléggé erősen elkülönülnek a maximum-értékek.

Programkód és futtatás

A program futtatásához Python 3.x és az következő python csomagok szükségesek: opencv_python, numpy, matplotlib, spectral, sys

A program futtatása (Linux és Windows rendszeren hasonlóan történik):

python3 hyperspectral_to_hsv.py input.hdr

Az input.hdr helyére azt a hiperspektrális fájlt kell megadni, amelyet szeretnénk feldolgozni.