WICHTIG: Der Betrieb von goMatlab.de wird privat finanziert fortgesetzt. - Mehr Infos...

Mein MATLAB Forum - goMatlab.de

Mein MATLAB Forum

 
Gast > Registrieren       Autologin?   

Partner:




Forum
      Option
[Erweitert]
  • Diese Seite per Mail weiterempfehlen
     


Gehe zu:  
Neues Thema eröffnen Neue Antwort erstellen

Das muss doch auch schneller gehn :D

 

lepetitmort
Forum-Anfänger

Forum-Anfänger



Beiträge: 14
Anmeldedatum: 23.03.10
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 23.03.2010, 16:49     Titel: Das muss doch auch schneller gehn :D
  Antworten mit Zitat      
Hallo zusammen,

erstmal ne kurze Projektbeschreibung:

Ich bekomme ein 10x 1Mpixel-Bild pro Sekunde ein Graustufen.
Hierauf sind (an festen Koordinaten) Ellipsen. Diese müssen vermessen werden (zb. Hauptachsenlänge)

Programmablauf:
1. Ellipse ausschneiden
2. "Ellipsenbild" schwarzweiss färben
3. Eigenschaften erkennen.

aktueller Quellcode:

Code:
clc;
clear all;      
close all;
tic
PicSTART = imread('testbild22.jpg');
toc
tic
ObjectNumber=1;  

%% erst mal leere Struktur erstellt
objekt=struct('PicEND',0,'mainaxis',0);
toc
%% Parameter Ellipsenposition "hart" eingegeben
tic
objekt(ObjectNumber).ellipse=[50,50,100,100];
%% Zuschneiden der Ellipsen+Schwarzweiss "färben"
objekt(ObjectNumber).PicEND=im2bw(imcrop(PicSTART,objekt(ObjectNumber).ellipse),0.2);
toc
tic
%%Objekterkennung
[labeled,numObjects]=bwlabel(objekt(ObjectNumber).PicEND,4);
toc
tic
%%Eigenschaften des Objekts auslesen
labeledstats=regionprops(labeled,'MajorAxisLength','Orientation','BoundingBox');
objekt(ObjectNumber).mainaxis=[labeledstats.MajorAxisLength];
toc
%%imshow(objekt(ObjectNumber).PicEND)
 


Dieses Programm braucht als .exe 1 Sekunde. Ich habe aber leider 10 bilder pro Sekunde zuverarbeiten (und das in Echtzeit).

So nun meine Fragen:
Könnt ihr euch vorstellen, dass das in dieser Geschwindigkeit überhaupt realisierbar ist?
Wenn ja: wo könnte ich anfangen am Code zuoptimieren?
gibts zb. regionprops Alternativen?
Wenn nein: sieht jemand ne Alternative zu Matlab?

Vielen Dank im Vorraus
Grüsse Jan

testbild22.jpg
 Beschreibung:
testbild22

Download
 Dateiname:  testbild22.jpg
 Dateigröße:  7.71 KB
 Heruntergeladen:  834 mal
Private Nachricht senden Benutzer-Profile anzeigen


Andreas Goser
Forum-Meister

Forum-Meister


Beiträge: 3.654
Anmeldedatum: 04.12.08
Wohnort: Ismaning
Version: 1.0
     Beitrag Verfasst am: 23.03.2010, 18:10     Titel:
  Antworten mit Zitat      
Ich kann momentan zwar nicht den Code prüfen, aber nur eine kurze Info: Die Applikation als EXE mit dem MATLAB Compiler wird nicht schneller laufen als die in MATLAB - das liegt daran, dass kein C-Code generiert wird, sondern die MATLAB Runtime Umgebung immer dabei genutzt wird.

Mit Simulink, dem Video&Image Processing Blockset und Real-Time Workshop kann C-Code generiert werden, der bestimmt schneller läuft.

Andreas
Private Nachricht senden Benutzer-Profile anzeigen E-Mail senden
 
Andreas Goser
Forum-Meister

Forum-Meister


Beiträge: 3.654
Anmeldedatum: 04.12.08
Wohnort: Ismaning
Version: 1.0
     Beitrag Verfasst am: 24.03.2010, 10:15     Titel:
  Antworten mit Zitat      
Bei mir dauert der Code übrigens 0.3 s für alles. R2009b, Win32, T60 Laptop.

Andreas
Private Nachricht senden Benutzer-Profile anzeigen E-Mail senden
 
lepetitmort
Themenstarter

Forum-Anfänger

Forum-Anfänger



Beiträge: 14
Anmeldedatum: 23.03.10
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 24.03.2010, 18:09     Titel:
  Antworten mit Zitat      
Andreas Goser hat Folgendes geschrieben:
Bei mir dauert der Code übrigens 0.3 s für alles. R2009b, Win32, T60 Laptop.

Andreas



Wooow... Direkt in Matlab ausgeführt, als .exe ?
Muss ich mal mit dem besseren Rechner testen.
Auf jeden Fall schonmal danke Andreas.
Private Nachricht senden Benutzer-Profile anzeigen
 
Andreas Goser
Forum-Meister

Forum-Meister


Beiträge: 3.654
Anmeldedatum: 04.12.08
Wohnort: Ismaning
Version: 1.0
     Beitrag Verfasst am: 24.03.2010, 19:03     Titel:
  Antworten mit Zitat      
Direkt in MATLAB - aber wie gesagt, mit der MCR sollte es exakt genau so schnell gehen.

Andreas
Private Nachricht senden Benutzer-Profile anzeigen E-Mail senden
 
Neues Thema eröffnen Neue Antwort erstellen



Einstellungen und Berechtigungen
Beiträge der letzten Zeit anzeigen:

Du kannst Beiträge in dieses Forum schreiben.
Du kannst auf Beiträge in diesem Forum antworten.
Du kannst deine Beiträge in diesem Forum nicht bearbeiten.
Du kannst deine Beiträge in diesem Forum nicht löschen.
Du kannst an Umfragen in diesem Forum nicht mitmachen.
Du kannst Dateien in diesem Forum posten
Du kannst Dateien in diesem Forum herunterladen
.





 Impressum  | Nutzungsbedingungen  | Datenschutz | FAQ | goMatlab RSS Button RSS

Hosted by:


Copyright © 2007 - 2024 goMatlab.de | Dies ist keine offizielle Website der Firma The Mathworks

MATLAB, Simulink, Stateflow, Handle Graphics, Real-Time Workshop, SimBiology, SimHydraulics, SimEvents, and xPC TargetBox are registered trademarks and The MathWorks, the L-shaped membrane logo, and Embedded MATLAB are trademarks of The MathWorks, Inc.