du kannst das capturebild auch in die ablage packen und von da aus als bmp-datei oder anderes format herausholen. oder aber auch nur im ram ablegen zum bearbeiten/auswerten, aber immer aus der ablage heraus.
mfg pebisoft
Ich lese die Pixel mit
Picturebox.Point
aus, steht doch da schon oben. Nur das dauert ewig, alles andere ist recht schnell.
Alle sagten: "Das geht nicht!" Dann kam einer, der wusste das nicht und hat´s gemacht
du kannst das capturebild auch in die ablage packen und von da aus als bmp-datei oder anderes format herausholen. oder aber auch nur im ram ablegen zum bearbeiten/auswerten, aber immer aus der ablage heraus.
mfg pebisoft
Wie gesagt, am einfachsten ist es, des ganze vorher inne JPEG umzuwandeln....
Gruß, Trabukh
"Der Mensch wächst am Widerstand" (Werner Kieser)
Würde ich nicht machen in gepacken Formaten lassen sich die geänderten pixel nicht so schnell finden.
Ich würde es über die Callback Routine machen:
capSetCallbackOnFrame
typedef struct videohdr_tag {
LPBYTE lpData;
DWORD dwBufferLength;
DWORD dwBytesUsed;
DWORD dwTimeCaptured;
DWORD dwUser;
DWORD dwFlags;
DWORD_PTR dwReserved[4];
} VIDEOHDR, NEAR *PVIDEOHDR, FAR * LPVIDEOHDR;
Da bekommt man die Strucktur gesendet da sind die Roh daten drin
also das Array of Byte von dem Frame
Hier ist ein VB beispiel den ich kann vb nur lesen nicht schreiben
http://compsci.snc.edu/cs460/wegndt/...o/edgedet2.frm
wenn man lpData jetzt verschickt sollte man auf der anderen seite ein
bild bauen können.
Das sollte die Performens bei aus lesen doch um einiges er höhen.
Jetzt würde mich die Netzlast mal interessieren wenn man so die Datenpustet.
Im Nexten Step könnte man sich überlegen nur noch die änderungen zu übertragen.
Könnt ihr verstehen wie ich das meine ?
Gruß
P: Meine Tochter (06.11.07) und https://www.carnine.de
M: Träumen hat nix mit Dummheit zu tun es ist die Möglichkeit neues zu erdenken
Der link auf das VB Beispiel ist topp!
Hab das Programm gleich ausprobiert. Endlich mal ein überzeugendes Beispiel für eine Kantenerkennung in VB.
Danke, Günter
das mit der Kanten erkennung hatte ich garnicht gesehen.
Hatte ich nur raus gesucht wegen der callback funktion und ich nicht wusste wie ma so was in VB macht.
Bin C++/Delphi programierer.
Gruß
P: Meine Tochter (06.11.07) und https://www.carnine.de
M: Träumen hat nix mit Dummheit zu tun es ist die Möglichkeit neues zu erdenken
Ich glaube bei jpeg Komprimierung ist es noch etwas schlimmer, denn da kann es sein, dass die gesuchten Pixel gar nicht mehr existieren.Würde ich nicht machen in gepacken Formaten lassen sich die geänderten pixel nicht so schnell finden.
Jpeg ist eine verlustbehaftete Komprimierung die viele Bildinformationen die der Mensch nicht so besonders deutlich wahrnimmt komplett entfernt.
Das lässt sich ganz gut feststellen, wenn man jpeg-Bilder stark vergrössert. Dann sieht man meist, dass gerade Kanten und Farbübergänge verändert werden. Für eine automatische Kantenerkennung ist das keine so besonders gute Voraussetzung.
Ich muss nochmal sagen, wie begeistert ich von NumberFives link bin.
http://compsci.snc.edu/cs460/wegndt/...o/edgedet2.frm oder gleich http://compsci.snc.edu/cs460/wegndt/ und dort MyCode:
Es wird nicht nur der VB-Quellcode für still-images (.bmp, (160x120) und videostreams von einer Logitech QuickCam(160x120)dargestellt, sondern auch noch zwei exe.-Dateien mitgeliefert, wo man die Sobel-Kantendetektion gleich ausprobieren kann. Ich habe das Video-Programm für eine Auflösung von 320x240 Pixeln umgeschrieben und mit VB5 eine neue exe-Datei erstellt. Funktioniert problemlos. Und läuft für BASIC rasend schnell. (QuickCam 3000 Pro; Pentium4; 3,2GHz; 2GB RAM).
Das ist wirklich mal ein guter Startpunkt für VB-Programmierer, auf der man eigene Entwicklungen aufbauen kann.
Gruß, Günter
So jetzt habe mal die Übertragung so gebaut wie gedacht mußte doch mal probieren ob das hin haut. jetzt kann ich daten von PC zu pc verschicken
ein life stream ist es zwar noch nicht aber für 7 Stunden finde das OK
Alles selbst programmiert nur mit Teilen die zu Delphi gehören.
VB kann ich halt nicht.
Der code ist sicher noch schneller zu machen aber sollte ich mal was anders Tun.
Der Genutze TCP port ist 32000
Es werden mit jedem bild 320x160x3 Bytes übertragen
Gruß
P: Meine Tochter (06.11.07) und https://www.carnine.de
M: Träumen hat nix mit Dummheit zu tun es ist die Möglichkeit neues zu erdenken
hallo number5,
hab dein Programm mal ausprobiert und funktioniert wirklich super.
hast du als Basiscode den von http://compsci.snc.edu/cs460/wegndt/ gebraucht?
hast du das senden nun mit Winsock realisiert ?
gruss commander7
Lesezeichen