[c++] Przetwarzanie obrazu
Bywalec
reputacja: 16
posty: 144
offline
05.10.10 18:22
|
#2253700
|
(link)
|
zgłoś naruszenie
Witam, mam pewne pytanie dotyczace przetwarzania obrazow. Chce w c++ stworzyc program ktory wczytuje obraz, przetwarza go np przekrecajac go o 180 stopni i zapisuje na wyjsciu gdzies tam. Glownie chodzi mi o to w jaki sposob wczytac te wszystkie pixele jeden po drugim i zamienic pierwszy na ostatni itp.
Bede wdzieczny za pomoc w formie kodu albo jakies przekierowanie do literatury.
Z gory dzieki
Bede wdzieczny za pomoc w formie kodu albo jakies przekierowanie do literatury.
Z gory dzieki
Początkujący
reputacja: 202
posty: 13
offline
09.10.10 12:06
|
#2258007
|
(link)
|
zgłoś naruszenie
Jeśli używasz "czystego" c++, bez żadnych dodatkowych bibliotek to sprawa jest złożona. Sposób zapisu danych jest zależny od formatu pliku(różny dla bmp, jpg, png itd.), więc musisz przejrzeć specyfikacje tych formatów i dowiedzieć się w których bitach zapisane są interesujące Cię informacje. Tyle jeśli chodzi o wczytanie, modyfikacja pliku, oprócz zmiany samych danych dotyczących kolorów pikseli, może wymagać także zmiany nagłówka pliku, czy sum kontrolnych odpowiednich sekcji(np. dla png). Zatem sam widzisz, że jest z tym trochę roboty, samo stworzenie klasy odpowiedzialnej za zapis tylko do jednego formatu będzie bardziej skomplikowane, niż sama modyfikacja obrazu....
Zatem jeśli masz taką możliwość użyj jakiejś biblioteki, która zrobi to za Ciebie, np. z darmowego pakietu rozszerzeń boost(link tu).
Sprawa jest dużo prostsza, gdy używasz Managed C++, czyli mówiąc po ludzku piszesz to w Visual Studio(przypominam że wersja express jest darmowa). Tam nie dość, że cały obraz(zapisany praktycznie w dowolnym formacie) będziesz mógł z łatwością wyświetlić w programie, to masz jeszcze klasę Bitmap i metody SetPixel i GetPixel.... Powodzenia.
Zatem jeśli masz taką możliwość użyj jakiejś biblioteki, która zrobi to za Ciebie, np. z darmowego pakietu rozszerzeń boost(link tu).
Sprawa jest dużo prostsza, gdy używasz Managed C++, czyli mówiąc po ludzku piszesz to w Visual Studio(przypominam że wersja express jest darmowa). Tam nie dość, że cały obraz(zapisany praktycznie w dowolnym formacie) będziesz mógł z łatwością wyświetlić w programie, to masz jeszcze klasę Bitmap i metody SetPixel i GetPixel.... Powodzenia.
Ostatnio edytował (1): mapa dnia 09.10.10 12:08
AJO.pl
|
TRO MEDIA
Korzystanie z serwisu oznacza akceptację
regulaminu
.
Polityka prywatności
Regulamin
FAQ
Reklama
Współpraca
Kontakt

