Skocz do zawartości

Wyostrzanie obrazu jak w edytorze grafik


micha_i

Rekomendowane odpowiedzi

Witam wszystkich po długiej przerwie.

Chciałbym się zapytać, czy istnieje jakiś DLL, dzięki któremu mogę na przykład narysować obraz, ale wyostrzony?

(W edytorze grafiki zakładka Image>>Sharpen , chodzi o to, że będę wczytywał obraz z pliku, i muszę mieć nad nim 100% kontroli)

Z góry dziękuję.

Odnośnik do komentarza
Udostępnij na innych stronach

Shader Extension 1.4

Proste wyostrzenie (tzw. relief) uzyskasz pisząc shader z dwoma dodatkowymi stage'ami, o jakiś tam teksel przesuniętymi, gdzie jeden dodaje, drugi odejmuje kolor ze stage bazowego. Teksturą będzie wysłany surface ze zrzutem ekranu. Możesz ją przechowywać wyłączając autodraw, i wywołując redrawem w momencie gdy masz ustawiony target surface. Po tym wszystkim rysujesz surface z załączonym shaderem.

@Edit: Sry, źle zinterpretowałem twoją wypowiedź. Myślałem że chcesz zrobić postefekt. W takim razie po prostu odpalasz shader rysując coś tam: dll'ka ma od tego proste funkcje w stylu "odpal taki shader"/"przestań rysować tym shaderem", gdzie pomiędzy tym rysujesz np. sprite.

Odnośnik do komentarza
Udostępnij na innych stronach

Unsharp mask jest łatwy do zaimplementowania. Potrzebujesz obrazu źródłowego i tymczasowego skopiowanego ze źródłowego. Na tymczasowym stosujesz filtr gaussa, a później na na źródłowym wyliczasz każdy piksel na każdym kanale SRC + ALPHA * ( SRC - TMP ). ALPHA modyfikuje wyostrzenie. To drugie nawet chyba się da zrobić całkiem zgrabnie z blendingiem. Filtr gaussa również jest łatwy do implementacji - tak naprawdę to zwykły splot. Jest fajna optymalizacja polegająca na stosowaniu spotu 1xDELTA i zaraz po tym DELTAx1 , gdzie DELTA to rozmiar gaussa. Wtedy szybko liczy się maskę.

Odnośnik do komentarza
Udostępnij na innych stronach

Jeśli chcesz dodać odpowiedź, zaloguj się lub zarejestruj nowe konto

Jedynie zarejestrowani użytkownicy mogą komentować zawartość tej strony.

Zarejestruj nowe konto

Załóż nowe konto. To bardzo proste!

Zarejestruj się

Zaloguj się

Posiadasz już konto? Zaloguj się poniżej.

Zaloguj się
  • Ostatnio przeglądający   0 użytkowników

    • Brak zarejestrowanych użytkowników przeglądających tę stronę.
×
×
  • Dodaj nową pozycję...