Wie kann ich ein Bitmap unter Linux in ein C++ Programm einlesen zum systematischen Analysieren der Pixel (Auf Muster..)
-
Hi Leute
Bin total neu hier aber ich hätte mal eine Frage:
Ich würde gerne ein Bild mit C++ einlesen um dann bestimmte Abfragen zu den detaillierten Werten der Pixel zu machen (zb. ein beinahe gleiche farbe unnatürlich oft -> das dann umranden oder so ähnlich)
allerdings muss ich ja wohl dann erst mal das Bild Pixel für Pixel einlesen um diese dann anhängig von ihrer Position zu untersuchen.
Stellt man das dann am besten in einer Art Matrix oder Array dar oder wie macht man das?
Ich hoffe hier gibt es ein paar Spezialisten die mir da weiterhelfen können.
Mein weit entferntes Zie wäre halt irgendwann ein Bild einlesen zu könne und auf einer Karte von Google Maps zum beispiel ein haus zu suchen oder so...
Das ist ja aber noch ziemlich weit weg...
Vielen Dank auf jeden Fall schon mal!!!!
MfG,
Arzoc
-
Arzoc schrieb:
Stellt man das dann am besten in einer Art Matrix oder Array dar oder wie macht man das?
Das wäre eine naheliegende Lösung.
Ich hoffe hier gibt es ein paar Spezialisten die mir da weiterhelfen können.
Mein weit entferntes Zie wäre halt irgendwann ein Bild einlesen zu könne und auf einer Karte von Google Maps zum beispiel ein haus zu suchen oder so...Wenn du Bilderkennung machen möchtest, dann musst du ja nicht selber das Rad zum 1000sten Mal erfinden. Ebenso beim Lesen und Speichern von Bildern (wobei es dort eher die 1000000000ste Neuerfindung des Rads wäre). Für Erkennung von Gegenständen in Bildern hat beispielsweise OpenCV einen guten Ruf.
In allen Fällen solltest du natürlich die Grundlagen einer Sprache beherrschen, bevor du fremde Bibliotheken nutzt. Wozu auch zählt, dass man weiß, wie ein "gutes" Programm in dieser Sprache aussieht.
-
ok super das opencv schau ich mir mal an...
-
wie bereits empfohlen wurde - nimm OpenCV!
Auch die Objekterkennung brauchst du nicht neu erfinden, dafür bietet OpenCV mehr als genug Funktionen.
Je nachdem wie einfach es zur "Häusersuche" sein darf nimmst du Template Matching, oder eben aufwendigere Verfahren welche dir markante Punkte im Bild finden welche du dann vergleichen kannst (z.B. SIFT).Straßen z.B. sollten nach geeigneter Bearbeitung als Linien hervortreten, welche du dann extrahieren kannst (z.B. Hough Lines).
usw...
Wenn dich das Thema interessiert, dann besorg dir ein Buch dazu. Ich kann folgendes empfehlen, es ist gut verständlich geschrieben und nicht überfüllt mit Formeln:
Computergrafik und Bildverarbeitung: Band II: Bildverarbeitung
-
SeppJ schrieb:
Wozu auch zählt, dass man weiß, wie ein "gutes" Programm in dieser Sprache aussieht.
Es reicht wenn er die Libs nutzt. In C++ ein gutes Programm zu schreiben setzt jahrelange Erfahrung voraus.
Tipp! Die Libs kannst du auch in vielen anderen Sprachen nutzen, wenn du in C++ nicht sicher bist. Da sparst du dir eine Menge Frust.