PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Mustererkennung, Bildanalyse mit welcher Programmiersprache



jcrypter
09.10.2008, 16:19
Hi,

es geht um ein Thema, mit dem ich mich immer mal wieder schon seit einer Weile beschäftige.

Es geht dabei um grundlegende Mustererkennung von Bildern einer Webcam.
Es soll (zunächst) nur nach Mustern gesucht werden (finde das Quadrat im Bild)...

Welche Programmiersprache würdet ihr mir empfehlen?
Ich habe vor einer Weile mal mit Delphi angefangen das zu realisieren, allerdings bin ich da nicht sehr weit gekommen (was ncihts heißen will, evtl ist das auch doch die richtige Wahl)

Könnt ihr mir Sprachen nennen in denen es zum einen recht einfach ist, eine Kamera einzubinden und zum anderen damit Snapshots zu machen um diese dann zu bearbeiten, Graustufen, Kontrast verändern etc?

Ich finde da nicht so recht den Einstiegspunkt.
Es geht zunächst nur um die Wahl der Sprache.
Dann ums Einarbeiten etc.. darum mach ich mir aber nicht so die Gedanken.

Habt ihr Ideen?

Ahja, OS ist WinXP.

Danke für eure Ideen!

Crypi

jeffrey
09.10.2008, 16:41
hoi,
also ich hab mal mit matlab bildverarbeitung betrieben. hat eigentlich ganz gut funktioniert.
mfg jeffrey

MacGeforce
09.10.2008, 16:50
schau mal hier

http://www.roborealm.com/

ist zwar keine programmiersprache, aber mit zwei mausklicks kannst da nem roten objekt mit folgen. kannst auch von "außerhalb" z.b. mit c (c#,c++), vb etc. drauf zugreifen, spart dir erst mal sehr viel arbeit und damit sollte auch recht viel gehen, du kannst die algorithmen alle ausprobieren ohne was zu progen.. einfach top...

goara
09.10.2008, 19:18
also mit matlab hat das bis jetz immer gut geklappt...
ansonsten haben wir am institut noch so ne software, wo alles wichtige schon vorhanden ist und man dann mit c++ macros die bilder so verarbeitet wie man will.. die kann man aber nicht kaufen..

ansosnten brauchst du einegntlich nur eine software die dir die bilder der kamera als bild (tiff oder so) ausgibt, von da an kannst du sie mit jeder sprache weiterverarbeiten...

Felix G
09.10.2008, 20:11
Wenns möglichst leicht sein soll: ganz klar Matlab


Allerdings geht das auf Kosten der Geschwindigkeit, und teuer ist Matlab leider auch.

goara
09.10.2008, 20:53
das schöne bei matlab ist halt das man die ganzen bildverarbeitungssachen wie hough-trafo und so zeus alles schon fertig mitbekommt...
was ich aber doof finde, dass man immer die ganze matlab-engine braucht und keine unabhängigen programme erstellen kann.. aber ist halt eher zum rumprobieren und testen als für die endanwendung gedacht...

the_Ghost666
10.10.2008, 08:13
OpenCV ist eine Bibliothek für Bilddatenverarbeitung, die von Intel betrieben wird. Wie schon der Name sagt, ist es eine freie Bibliothek, welcher Lizens sie unterliegt weiß ich nicht, aber privat gehts sicher. Das ganze ist für C++/
C# meine ich. Und CV steht für Computed Vision.

jcrypter
10.10.2008, 08:27
hmm..

Guten Morgen, erstmal..

ich hab mich mal ein bisschen umgesehen und mir erscheint C# ganz praktisch.

Also was bei rauskommen soll ist schon eine eigene Anwendung.
Aber vielleicht ist das Ausprobieren mit bestehenden Programmen keine schlechte Idee.
Allerdings kann man sich bei denen vermutlich nicht abgucken "wies" geht, oder? Also Einblick in den Benutzen Algorithmus, mein ich.

Ich werd mir mal eure Vorschläge angucken!
Ich danke euch recht herzlich!


Gruß,
Crypi

Felix G
10.10.2008, 20:03
Aber vielleicht ist das Ausprobieren mit bestehenden Programmen keine schlechte Idee.
Allerdings kann man sich bei denen vermutlich nicht abgucken "wies" geht, oder? Also Einblick in den Benutzen Algorithmus, mein ich.Matlab ist dafür gut geeignet, denn alle Funktionen sind hervorragend dokumentiert.

Also auch wenn du den Quellcode nicht hast, soltest du vieles allein anhand derBeschreibung der Funktionsweise nachprogrammieren können.

Beuteschema
13.10.2008, 09:49
Ich möchte gerne in die Mustererkennung einsteigen um das fertige Programm anschließend zu verkaufen. Welche Software kann ich dafür verwenden, bei der ich so wenig zusätzlich für Lizenzen zahlen muß wie möglich?
Matlab scheint ausgeschlossen zu sein, da es keine eigenen Programme erstellen kann.
Erstelle ich ein Programm mit Visual C ++ und der OpenCV, muß ich dann einen Teil an MS abführen obwohl ich VC++ erworben habe?

Ziel ist also eine eigenständige Anwendung mit Mustererkennung mit möglichst geringen Zusatzgebühren bei Veröffentlichung. Wie könnte ich das erreichen?

the_Ghost666
13.10.2008, 12:46
Moin, naja, du solltest die Lizenzen zu den Programmen genau lesen, bevor du dich daran machst. Gerade bei OPENCV bin ich mir nicht sicher, was für eine Lizenz vorliegt. Wenn es eine ist, die die gewerbliche Nutzung gegen Entgeld ausschließt, würde ich vorher einen Berater aufsuchen, also n Anwalt oder vielleicht ne Beratungsstelle. Bedenke dabei auch, dass du für solche Geschichten auch belangt werden kannst. Wenn du also mit der Software grob fahrlässige Schäden verursachst, z.B. bei vermeidbaren Fehlern, die zum Absturz einer Anlage führten, kannst du dafür persönlich haftbar gemacht werden. Das geht nur in bestimmten Grenzen, ich glaube aber, selbst eine EULA in der steht "ihr könnt mich nicht belangen" wird bei grober Fahrlässigkeit dir nicht helfen.

malthy
13.10.2008, 12:48
Moin!

Ob Deine Idee, sich "mal eben schnell" in Bildverarbeitung einzulesen, um dann gleich ein kommerzielles Produkt entwickeln zu können, realistisch ist, sei mal dahin gestellt - ich bin da skeptisch :-). Auf jeden Fall kannst Du Matlab Code compilieren. Näheres hier: http://www.mathworks.com/products/compiler

Gruß,
Malte

Beuteschema
14.10.2008, 20:31
Visual C++ 2008 Express Edition (http://www.microsoft.com/express/vc/) ist eine kostenlose Visual C++ Entwicklungsumgebung. Ich habe bisher keine Funktionseinschränkungen gesehen. Wie sieht es hier mit Lizenzen aus?

OpenCV kann ich nachweislich kommerziell verwenden.

the_Ghost666
18.10.2008, 21:46
Bei VisualC++ Express bin ich mir recht sicher, dass in den EULA steht, dass es nicht gewerblich genutzt werden darf, ist als Evaluierungsversion für Ausbildung und Lehre gedacht. Aber ne kommerzielle Vollversion sollte gehen, die verkaufen das ja nicht nur an privat.

Beuteschema
19.10.2008, 14:00
Moin, naja, du solltest die Lizenzen zu den Programmen genau lesen, bevor du dich daran machst. Gerade bei OPENCV bin ich mir nicht sicher, was für eine Lizenz vorliegt. Wenn es eine ist, die die gewerbliche Nutzung gegen Entgeld ausschließt, würde ich vorher einen Berater aufsuchen, also n Anwalt oder vielleicht ne Beratungsstelle. Bedenke dabei auch, dass du für solche Geschichten auch belangt werden kannst. Wenn du also mit der Software grob fahrlässige Schäden verursachst, z.B. bei vermeidbaren Fehlern, die zum Absturz einer Anlage führten, kannst du dafür persönlich haftbar(Quellen???!!) gemacht werden. Das geht nur in bestimmten Grenzen, ich glaube aber, selbst eine EULA in der steht "ihr könnt mich nicht belangen" wird bei grober Fahrlässigkeit dir nicht helfen.(Quellen???!!)


Bei VisualC++ Express bin ich mir recht sicher, dass in den EULA steht, dass es nicht gewerblich genutzt werden darf, ist als Evaluierungsversion für Ausbildung und Lehre gedacht. Aber ne kommerzielle Vollversion sollte gehen, die verkaufen das ja nicht nur an privat.

In anderen Worten, du hast keine Ahnung gehst aber vom Verbotenen aus. Was glaubst du, nutzt mir das? Ich muß jetzt jeden einzelnen Punkt nachlesen, die drei Sekunden zum Lesen dieses Schwachsinns hättest du JEDEM Leser sparen können.

c4vl3r
19.10.2008, 14:25
doch, die expressversionen sind auch für kommerzielle anwendungen zu verwenden. kann hier nachlesen: http://www.microsoft.com/germany/express/

HeXPloreR
19.10.2008, 14:54
hey hey,

moment mal @ Beuteschema...das sollte Dir eigentlich nur als anstoß dienen wie Du vorgehen könntest. Wenn Du mit einigen Aussagen zu Deiner Frage,die Du übrigens hier in der Thread einfach mal so dazwischen legst auch wenn er quasi von Crypi abgehackt wurde, nicht zufrieden bist ist das allein Dein Problem.
Erstens ist es ziemlich unhöfflich und zweitens brauchst Du Dich in Zukunft nicht darüber wundern das man Dich eventuell wenig beachtet.
Es ist schon verwunderlich das sich immer wieder Menschen hier vor fünf Tagen angemeldet haben, und dann schon direkt solche Sprüche loslassen. Es gibt hier und da sehr kompetente Ansprechpartner doch wenn man dafür das man hier ne Antwort oder Anregung schreibt nur angeflachst wird.
Ich finde das Niveau sinkt langsam mit zunehmenden jüngeren Teilnehmern die es einfach mal nicht gewohnt sind, entweder für sich wichtige Aussagen herauszufiltern oder unwichtige für sie einfach gut sein zu lassen. Nicht nur mir persönlich ist es schon aufgefallen das oft nicht mal mehr ein schriftliches "danke" hier zu finden ist. Leider wird das immer mehr zum trend --> alles haben wollen und es sich einfach zu nehmen, und dann damit umzugehen als könnte man es jeden Tag neu haben. Dazu noch am besten andere damit belästigen es für einen zu tun/besorgen.
Finde das alles sehr merkwürdig und bedenklich.

Und im Endeffekt mußt Du es ja doch nachlesen, oder machst Du es dann nur weil hier jemand gesagt hat das es in Ordnung wäre?? Solltest Du mal drüber nachdenken.

Sorry, hatte jetzt nichts mit Robotern oder so zu tun aber mir stinkt es..und es mußte mal wieder raus ;)

thx4 Aufmerksamkeit + mfg

jcrypter
19.10.2008, 16:06
@hexaplorer
ich denke deine ausführungen in bezug auf höflichkeit sind durchaus zutreffend.
diesen thread zu nutzen um auch auf andere aspekte einzugehen, die mit dem thema zu tun haben finde ich jedoch sinnvoll auch wenn es nicht mein ursprungliches anliegen betrifft.
allerdings habe ich habe das thema nicht abgehakt :)
ich bin bloß zur zeit bei meiner arbeit sehr stark eingespannt und da hab ich momentan wenig zeit um mich intensiver diesen themen zu witmen.

ich hab angefangen mir c# anzugucken. mit visual studio express.
es gibt da auch recht viele beispiele die sich mit bildverarbeitung beschäftigen.
siehe codeproject.com

Gruß,
Crypi

Beuteschema
19.10.2008, 16:38
HeXPloreR, würdest du mir genau das gleiche nochmals sagen, wenn du vor mir(1,82m, sehr athletisch) ständest oder würdest du dann plötzlich merken, daß ich deine Meinung nicht wissen muß?

Ich kenne die Antwort, du fühlst sie.

Ich habe kein Interesse an einer Unterhaltung mit dir und werde jegliche Reaktion ignorieren.

HeXPloreR
19.10.2008, 17:30
hi Beuteschema,

nur weil Du nun schreibst Du wärst ca. 182cm groß, hat es doch damit nichts zu tun wie man sich hier aufführt. Dazu kommt ja schliesslich noch was ich so alles kann, auch mit fünf cm größeren Menschen ...das was Du nun geschrieben hast, zeigt mir nur das ich hier einen Menschen vor mir habe der im Zweifel nicht mehr in der Lage ist verbal zu kommunizieren, wenn er berechtigte Kritik einzustecken hat.
Naja,wie auch immer, sicher wirst Du mit Deinem entsprechenden IQ bestimmt feststellen das nicht nur Du eine gewisse Annonymität im Netz besitzt.
Ich setze hier auch einfach mal voraus das Du die Antwort "auch fühlst".

@ Crypi....sorry,das mit dem abgehakt meinte ich nur weil du ja sagtest...du guckst mal und vielen Dank...


mfg

ähM_Key
19.10.2008, 21:43
http://www.dontfeedthetroll.de/images/dftt.gif (http://www.dontfeedthetroll.de)

Manf
20.10.2008, 05:26
HeXPloreR, würdest du mir genau das gleiche nochmals sagen, wenn du vor mir(1,82m, sehr athletisch) ständest oder würdest du dann plötzlich merken, daß ich deine Meinung nicht wissen muß?
Ich kenne die Antwort, du fühlst sie.
Ich habe kein Interesse an einer Unterhaltung mit dir und werde jegliche Reaktion ignorieren.
Zuletzt bearbeitet von Beuteschema am 19.10.2008, 18:48, insgesamt ein Mal bearbeitet

Naja, das hätte man dann auch gleich ganz herausnehmen können es hilft ja nicht für die weitere Zusammenarbeit, ich weiß schon, nicht jede Antwort im Thread war umfassend, ausgewogen und hilfreich, damit muss man im Forum leben.
Die Angabe der Körpergröße hat mich dann aber doch noch neugierig gemacht, wenn man sonst schon so wenig von den Leuten hier im Forum weiß und auf einmal nur diesen Wert erfährt.
Die Tabelle von 2005 gibt die Werte leider erst ab 18 Jahren an, der Wert scheint aber in jedem Fall über dem Durchschnitt zu liegen.
http://www.destatis.de/jetspeed/portal/cms/Sites/destatis/Internet/DE/Content/Statistiken/Gesundheit/GesundheitszustandRisiken/Tabellen/Content50/Koerpermasse,templateId=renderPrint.psml

Mikel36
13.12.2008, 13:18
Es gibt für Lego mindstorms eine möglichkeit abfragen in VB zu benutzen
z.b. das cambild in 100 sectoren unterteilen und in jedem sector farbe oder bewegung zu erkennen.

das müsste mit jeder logitech cam gehen

ich suche es und poste es mal hier.

lg

Michael