PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Einstieg in die Bildverarbeitung



Der Einsteiger
19.07.2013, 21:33
Hallo Leute,
ich würde gerne mal in die Bildverarbeitungstechnik einsteigen.
Das heißt: Anfangen würde ich zum Beispiel mit zwei farbigen Objekten die unterschieden werden sollen oder so etwas. (möglichst einfach)

Dazu muss ich leider sagen, dass ich noch keine Ahnung davon habe.
Deshalb benötige ich auch eure Hilfe.

Zu den Fragen:
Was gibt es für kostenlose Programme, die mit Basic funktionieren ? Geht es auch mit Visual Basic ?

Was brauche ich für eine Kamera ? Reicht die, die im Laptop eingebaut ist für den Anfang aus ?

Gibt es schon irgendwelche Seiten mit einfachen Informationen für Einsteiger ?

Wie kann ich anfangen?

Ich hoffe ich nerve euch mit meinen Fragen nicht. :)

Ich würde mich über Antworten wie immer sehr freuen...

Der Einsteiger

DanielSan
20.07.2013, 10:04
Hey,

guck dir mal OpenCV an http://opencv.org/

Das ist kostenlos mächtig aber leider nicht für basic. Mit VisualC sollte es aber gehen.

Ja für den Anfang reicht die Cam aus dem Laptop. Je geringer die Auflösung desto schneller ist deine Anwendung... ist ja klar!

Für OpenCV gibt es Tutorials musst mal bisschen Googlen.

Gruß Daniel

Der Einsteiger
20.07.2013, 11:26
Vielen Dank DanielSan

Ich habe bis jetzt aber noch null C-Kentnisse. Kann ich trotzdem damit loslegen und mir es von klein an beibringen, oder ist es zu schwierig ?

DanielSan
20.07.2013, 11:43
Mh gaaanz einfach ist das nicht. Ich kann nicht einschätzen wie lernfähig du bist. Besonders wenn du es dir selbst aneignen musst.

Wie ist denn deine Einschätzung was deine Basickentnisse angeht?
Ich sag immer kannst du eine Sprache kannst du alle! Was ich damit sagen will... In C gibt es ein paar besonderheiten gegenüber Basic aber im Prinzip ist nur die Syntax anders die Denkweise ist ähnlich. (Jungs nicht zu ernst nehmen bitte! Ich weiss auch das das nicht ganz korrekt ist.)

Ich würde sagen probier es einfach aus. Erstell dir ein C Projekt und bastel dir ein einfaches Programm. Wenn das klappt guck dir die Tutorials von OpenCV an. Ich bin auch kein Experte und hab schon ein paar "spielereien" mit OpenCV und C hinbekommen.
Viel einfacher als mit OpenCV geht es glaube ich nicht (jedenfalls kostenlos) es gibt über 2500 Funktionen in den Lib´s auf die man einfach zugreifen kann. Bildverarbeitung ist eben schon eine recht anspruchsvolle Aufgabe.

Gruß Daniel

Der Einsteiger
20.07.2013, 11:52
Also und was soll ich mir jetzt alles herunterladen? Nur dieses OpenCV oder brauche ich auch noch was anders dazu?


Wie ist denn deine Einschätzung was deine Basickentnisse angeht?
Naja, ich bin kein Anfänger mehr, aber viel kann ich noch nicht :)


Mh gaaanz einfach ist das nicht.
Das weiß ich, deswegen frage ich ja auch.


ch kann nicht einschätzen wie lernfähig du bist.
Kann ich auch nicht so gut einschätzen. Mir würden für den Anfang aber schon die kleinsten Verarbeitungen reichen :)

DanielSan
20.07.2013, 12:24
Was du installieren musst kann ich dir im Moment auch nicht sagen. Muss sofort weg...

Google doch mal nach Visual C und OpenCV oderso. Bin sicher da wirst du was finden. Du musst leider sehr viel Eigenleistung bringen...
Ich guck mal ob ich nachher noch Zeit finde, dann fuchs ich mich da auch mal rein. Wollte auch mal wieder was damit machen. Dann kann man sich ja evtl gegenseitig ergänzen. Wobei ich wahrscheinlich mit Python arbeiten werde. Ich möchte nämlich das das ganze später auf meinem RaspberryPi läuft. Deswegen werde ich auch unter Linux arbeiten.

Gruß Daniel

DanielSan
21.07.2013, 11:15
So bin zwar noch etwas angeschlagen von gestern aber...

Ich habe Python 2.7 und OpenCV Latest unter Ubuntu installiert. Das ist erstmal alles was man braucht. Damit kann ich z.b. die Webcam anzeigen. Die Performance ist echt cool! Bei VisualStudio hatte ich damals das Problem, das ich wenn ich das Videofenster bewegt habe das Video stehen blieb... Ausserdem kann ich eine Linie auf das Webcam Bild malen.
Der Python Code dazu:

#!/usr/bin/python# -*- coding: utf-8 -*-




import cv




KAMERA_NR = 0
x1 = 0
y1 = 100
pt1 = x1,y1
pt2 = 200,200
farbe = 0,0,255
cam = cv.CaptureFromCAM(KAMERA_NR)




taste = 0
while taste <> ord("q"):
bild = cv.QueryFrame(cam)
cv.Line(bild, pt1, pt2, farbe)
cv.ShowImage("Livebild", bild)
taste = cv.WaitKey(10)
x1 = x1 + 1
pt1 = x1,y1

shedepe
21.07.2013, 20:05
Hallo,
solltest du dich bereits mit Visual Basic .Net auskennen, dann kannst du damit "problemlos" die .Net Schnittstelle von OpenCV nutzen.

Der Einsteiger
22.07.2013, 12:06
Hallo

zu DanielSan : schönes Projekt :)

zu shedepe :
solltest du dich bereits mit Visual Basic .Net auskennen
Also ich kenne mich ein wenig mit Microsoft Visual Basic 2010 Express aus.
Ist das nicht dieses .net ???


dann kannst du damit "problemlos" die .Net Schnittstelle von OpenCV nutzen
Wie ?? Gibt es dazu eine Anleitung ??

shedepe
22.07.2013, 12:48
Das solltest du natürlich wissen, in welcher Programmiersprache bzw. mit welchem Unterbau du programmierst.

Wenn du auf die Console mit einem Befehl wie:
System.Console.WriteLine("meinString") zugreifst. Dann ist es .Net.

Und zum Thema wie man das mit OpenCV nutzt:

http://www.emgu.com/wiki/index.php/Main_Page

engineer
15.10.2013, 13:45
Ich habe seinerzeit mit ASM begonnen SV und BV zu machen, ich weiss nicht ob das gfs was wäre. Ich würde mich in jedem Fall mit C befassen, wenn bei der Geschichte etwas rauskommen soll, denn gerade bei Controllern ist das Ergebnis immer durch CPU-Leistung limitiert. Die gilt es , effektiv zu nutzen.