Przetwarzanie ogromnych bitmap

Przetwarzanie ogromnych bitmap
SI
  • Rejestracja: dni
  • Ostatnio: dni
0

Problem polega na tym, że potrzebuję przetwarzać (jasność, kontrast, paleta kolorów i inne) bitmapę o bardzo wysokiej rozdzielczości i jakości (kilkanaście megapikseli, plik kilkadziesiąt MB w rozmiarze) - kilkadziesiąt operacji w ciągu sekundy. Kolejny problem jaki się pojawia, to fakt że trzeba to wszystko na bieżąco wyświetlać na ekranie... Pierwszy raz mam do czynienia z przetwarzaniem obrazów, ale wydaje mi się, że niemożliwe jest żeby śmigało to płynnie. Wpadłem na taki pomysł, że skoro użytkownik może robić zoom in\zoom out, to bez sensu jest przetwarzać całą bitmapę - zamiast tego lepiej zająć się tym co aktualnie jest wyświetlane na ekranie (czyli utworzyć pomocniczą, dużo mniejszą bitmapę), bo po co zajmować się tym czego aktualnie nie widać. Istnieje jakiś lepszy sposób?

Jeszcze jedno pytanie: jakiej biblioteki do przetwarzania obrazów użyć w tym celu? Póki co wypróbowałem AForge.NET, ale może polecacie coś od siebie?

Z góry dzięki za jakiekolwiek wskazówki ;)

msm
  • Rejestracja: dni
  • Ostatnio: dni
1

Uwaga - W tagach pojawia się WPF, nic o nim nie ma w treści postu. Tag więc zignorowany.

Możliwe żeby to śmigało płynnie, w grafice 3D takie tekstury to norma. Możesz spróbować OpenGL (polecam OpenTK do tego) albo DirectX (polecam XNA do tego).

Wczytujesz bitmapę jako teksturę i wykonujesz operacje w shaderach. Nie będzie to raczej proste jeśli dotąd czegoś takiego nie robiłeś... Ale będzie błyskawiczne (60 FPS bez problemu, chociaż zależy od efektów).

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.