Tag: C#

Przyjrzymy się dziś metodzie, która widnieje na tytułowym obrazku. Szybki rzut oka: przecież nic skomplikowanego - zaledwie parę linijek kodu. Na pewno jest generyczna, bo wszędzie tylko typy: TInput, TResult... Mimo wszystko trochę mi zajęło, żeby ją zrozumieć i efektywnie z niej korzystać. Ponieważ bardzo rzadko sam tworzę takie metody, postanowiłem rozbić ją na czynniki pierwsze.

Flover Project

Od jakiegoś czasu programiści platformy .NET, a właściwie jej wersji nr 4.0 mają możliwość zastosowania biblioteki Task Parallel Library. Jej najpopularniejszym elementem jest współbieżna pętla For, którą bardzo intuicyjnie się obsługuje. Taką równoległą pętlę otrzymujemy dzięki metodzie Parallel.For().

Flover Project

W rozpoznawaniu obrazów często mamy do czynienia segmentacją. Przeprowadzamy ją gdy chcemy zmienić reprezentację obrazu na łatwiejszą do analizy - zamiast obrazu w postaci pikseli otrzymujemy regiony, które są w jakiś sposób jednorodne, np. pod względem koloru, odcieni szarości czy tekstury. Te wydzielone obszary nazywamy również superpikselami. Jest ich zazwyczaj o wiele mniej od normalnych pikseli, dlatego algorytmy przetwarzające dalej dany obraz mają bardziej ogólne informacje o obrazie i są szybsze. Jednym z lepszych a zarazem łatwych algorytmów segmentacji jest metoda SLIC.

Flover Project