2011-07-18 15 views
5

Mam zamiar zrobić projekt dotyczący przetwarzania obrazu, moja wiedza na ten temat jest ogólnie niska. Mój preferowany język to C++.Podstawy przetwarzania obrazów

Czy członkowie tu dać mi:

  1. Krótka ideę Co Przetwarzanie obrazu jest?
  2. Jakie książki należy skonsultować [proszę pamiętać, że jestem początkującym i jestem TYLKO zainteresowany projektem uczelni]
  3. Jakich bibliotek mogę użyć? [Wiem o Boost/OpenCV itd. Chciałbym wiedzieć, co najprostsze i można dostać mój projekt zrobić szybko - jego małoletniego projekt]

Oprócz powyższych 3 punkty, coś, co powinienem wiedzieć, czy powiedzą dla mnie będzie dobrą pomocą. Z góry dziękuję.

Odpowiedz

5

Polecam lekturę dobrej książki. Przetwarzanie obrazu to , a nie pole programowania - jest to dziedzina inżynierii i obejmuje wiedzę z zakresu matematyki i przetwarzania sygnałów oraz intuicję. Model Gonzalez and Woods Image Processing jest całkiem niezły i nie wymaga dużej wiedzy o przetwarzaniu sygnału, zanim zaczniesz go czytać. Najważniejsze jest to, że nie uczysz się przetwarzania obrazu tak, jak uczysz się nowego języka programowania; uczysz się go jak zupełnie nowego przedmiotu, który po prostu wymaga kodowania. Aby to rozpadają się na odpowiedzi na pytania,

  1. Przetwarzanie obrazu jest dyscypliną cyfrowego przetwarzania sygnału, która sama jest na skrzyżowaniu informatyki i matematyki stosowanej.Obejmuje operacje oparte na pikselach w celu poprawy obrazu (korekcja koloru i kontrastu, odszumianie, usuwanie efektu odblasku), efekty wizualne (zniekształcenie przestrzenne, przekształcanie, zastępowanie kolorów), sztuczne widzenie (ekstrakcja cech, segmentacja tekstury, identyfikacja wzoru, percepcja przestrzenna). Istnieje również wiele wąsko stosowanych obszarów przetwarzania obrazu, takich jak przetwarzanie obrazu RADAR, przetwarzanie obrazów medycznych itp.

  2. Książka, o której wspomniałem powyżej, jest naprawdę świetną lekturą. Jeśli jest to dla ciebie trochę drogie, zawsze uważam, że warto będzie wybrać się do Amazona i poszukać taniego, starszego wydania, użyć książki na ten temat z pięciogwiazdkową oceną. Jeszcze mnie nie zawiodłeś. Uważaj jednak na starsze książki.

  3. Istnieje wiele bibliotek do zadania, Boost/CImg to tylko niektóre z nich, a to naprawdę zależy od platformy, którą kodujesz. Sądzę jednak, że projekt przetwarzania obrazu nie byłby objęty żadną biblioteką, a nie pisałby o filtrach przetwarzania obrazu i innych operatorach - to jest esencja tego. Najprawdopodobniej używałbyś bibliotek algorytmów do szybszego obliczania. Projekt w przetwarzaniu obrazu nie jest projektem oprogramowania; jest to raczej projekt inżynieryjny, a korzystanie z biblioteki całkowicie zabiłoby ten cel. Oczywiście tak jest w mojej skromnej opinii.

+0

Dobra odpowiedź. W celu późniejszego odniesienia się do innych użytkowników SO: międzynarodowe edycje książki Gonzalez and Woods, trzecia edycja, można znaleźć za jedyne 30 USD. Witryna http://www.addall.com/ jest dobrym źródłem do sprawdzania wielu księgarzy. – Rethunk

2

Odpowiedź na 3 .: CImg może być dobrym wyborem, aby zacząć szybko.

1
  1. Modyfikowanie danych obrazu w taki sposób, aby uzyskać pożądany efekt (na przykład zmienić obraz kolorowy na czarno-biały obraz).
  2. Bardzo szerokie pytanie, a odpowiedź zależy od tego, co chcesz zrobić.
  3. Zajrzyj do GraphickMagick lub ImageMagick.
1
  1. Przetwarzanie obrazu jest dużo o matematyce, a to szczególne manipulacje macierzowe i bardziej zaawansowanej obróbki, transformacji Fouriera.

  2. Przetwarzanie obrazu jest w jego podstawowej definicji, manipulacji obrazem, niezależnie od manipulacji (manipulacji kolorami, ekstrakcji cech, ulepszeń, ...). Przetwarzanie obrazu różni się od grafiki komputerowej (2d i 3d)

  3. Przypuszczam, że odwiedzę lokalną bibliotekę uczelni, powinny one zawierać odniesienia do przetwarzania obrazu, algorytmów i całego tego jazzu. Musisz zdecydować (z profesorem college'u/doradcą), jaką część obróbki obrazu chcesz zbadać.

  4. Zajrzyj do bibliotek ImageMagick (między innymi), oferuje dobry pakiet, aby rozpocząć naukę o przetwarzaniu obrazu; kod źródłowy jest dostępny).

Max.

1

Mimo, stary, ja Trink Digital Image Processing K. Pratt jest dobrym wyborem na początek (aby uzyskać sens powszechnych technik), ale imho nie należy uczyć się z C++; język wysokiego poziomu z dobrym zestawem narzędzi do przetwarzania obrazu (np. MATLAB) jest o wiele lepszy do wypróbowania algorytmów (które czasami wymagają dużego wykorzystania złożonych metod numerycznych).