Obecnie implementuję w C# algorytm Seam Carving. Jest to zaskakująco prosty algorytm "inteligentnego" skalowania. Idea algorytmy polega na usuwaniu szwów o najmniejszej energii, gdzie energię szwu definiuje się ile krawędzi (wysokich częstotliwości) przecina dany szew.
Póki co mam zaimplementowane zmniejszanie i pracuję nad powiększaniem, później dodam możliwość maskowania. Docelowo chciałbym to później przepisać w C++ i Qt.
Stan aplikacji na dziś - po lewej obrazek wejściowy, po prawej - efekt działania programu |