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

Geometrische Formen aus Bild (Jpg) erkennen???

 

xmatthias
Themenstarter

Forum-Anfänger

Forum-Anfänger


Beiträge: 15
Anmeldedatum: 07.05.08
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 13.05.2008, 22:08     Titel:
  Antworten mit Zitat      
Habe diese Version von Matlab, hab ich nun die genannte Toolbox???

>> ver
-------------------------------------------------------------------------------------
MATLAB Version 7.6.0.324 (R2008a)
MATLAB License Number: ******
Operating System: Microsoft Windows Vista Version 6.0 (Build 6001: Service Pack 1)
Java VM Version: Java 1.6.0 with Sun Microsystems Inc. Java HotSpot(TM) Client VM mixed mode
-------------------------------------------------------------------------------------
MATLAB Version 7.6 (R2008a)
Simulink Version 7.1 (R2008a)
Aerospace Blockset Version 3.1 (R2008a)
Aerospace Toolbox Version 2.1 (R2008a)
Bioinformatics Toolbox Version 3.1 (R2008a)
Communications Blockset Version 4.0 (R2008a)
Communications Toolbox Version 4.1 (R2008a)
Control System Toolbox Version 8.1 (R2008a)
Curve Fitting Toolbox Version 1.2.1 (R2008a)
Data Acquisition Toolbox Version 2.12 (R2008a)
Database Toolbox Version 3.4.1 (R2008a)
Datafeed Toolbox Version 3.1 (R2008a)
EDA Simulator Link IN Version 2.2 (R2008a)
EDA Simulator Link MQ Version 2.4 (R2008a)
Embedded IDE Link CC Version 3.2 (R2008a)
Embedded IDE Link MU Version 1.0.1 (R2008a)
Embedded IDE Link TS Version 1.3 (R2008a)
Embedded IDE Link VS Version 2.0 (R2008a)
Extended Symbolic Math Toolbox Version 3.2.3 (R2008a)
Filter Design HDL Coder Version 2.2 (R2008a)
Filter Design Toolbox Version 4.3 (R2008a)
Financial Derivatives Toolbox Version 5.2 (R2008a)
Financial Toolbox Version 3.4 (R2008a)
Fixed-Income Toolbox Version 1.5 (R2008a)
Fixed-Point Toolbox Version 2.2 (R2008a)
Fuzzy Logic Toolbox Version 2.2.7 (R2008a)
GARCH Toolbox Version 2.4 (R2008a)
Gauges Blockset Version 2.0.5 (R2008a)
Genetic Algorithm and Direct Search Toolbox Version 2.3 (R2008a)
Image Acquisition Toolbox Version 3.1 (R2008a)
Image Processing Toolbox Version 6.1 (R2008a)
Instrument Control Toolbox Version 2.6 (R2008a)
MATLAB Builder EX Version 1.2.10 (R2008a)
MATLAB Builder JA Version 2.0.1 (R2008a)
MATLAB Builder NE Version 2.2.2 (R2008a)
MATLAB Compiler Version 4.8 (R2008a)
MATLAB Distributed Computing Server Version 3.3 (R2008a)
MATLAB Report Generator Version 3.3 (R2008a)
Mapping Toolbox Version 2.7 (R2008a)
Model Predictive Control Toolbox Version 2.3.1 (R2008a)
Model-Based Calibration Toolbox Version 3.4 (R2008a)
Neural Network Toolbox Version 6.0 (R2008a)
OPC Toolbox Version 2.1.1 (R2008a)
Optimization Toolbox Version 4.0 (R2008a)
Parallel Computing Toolbox Version 3.3 (R2008a)
Partial Differential Equation Toolbox Version 1.0.12 (R2008a)
RF Blockset Version 2.2 (R2008a)
RF Toolbox Version 2.3 (R2008a)
Real-Time Windows Target Version 3.1 (R2008a)
Real-Time Workshop Version 7.1 (R2008a)
Real-Time Workshop Embedded Coder Version 5.1 (R2008a)
Robust Control Toolbox Version 3.3.1 (R2008a)
Signal Processing Blockset Version 6.7 (R2008a)
Signal Processing Toolbox Version 6.9 (R2008a)
SimBiology Version 2.3 (R2008a)
SimDriveline Version 1.5 (R2008a)
SimEvents Version 2.2 (R2008a)
SimHydraulics Version 1.3 (R2008a)
SimMechanics Version 2.7.1 (R2008a)
SimPowerSystems Version 4.6 (R2008a)
Simscape Version 2.1 (R2008a)
Simulink Control Design Version 2.3 (R2008a)
Simulink Design Verifier Version 1.2 (R2008a)
Simulink Fixed Point Version 5.6 (R2008a)
Simulink HDL Coder Version 1.3 (R2008a)
Simulink Parameter Estimation Version 1.2.2 (R2008a)
Simulink Report Generator Version 3.3 (R2008a)
Simulink Response Optimization Version 3.1.3 (R2008a)
Simulink Verification and Validation Version 2.3 (R2008a)
Spline Toolbox Version 3.3.4 (R2008a)
Spreadsheet Link EX Version 3.0.1 (R2008a)
Stateflow Version 7.1 (R2008a)
Stateflow Coder Version 7.1 (R2008a)
Statistics Toolbox Version 6.2 (R2008a)
Symbolic Math Toolbox Version 3.2.3 (R2008a)
System Identification Toolbox Version 7.2 (R2008a)
SystemTest Version 2.1 (R2008a)
Target Support Package FM5 Version 2.2.1 (R2008a)
Target Support Package IC1 Version 1.5.1 (R2008a)
Target Support Package TC2 Version 3.0 (R2008a)
Target Support Package TC6 Version 3.4 (R2008a)
Video and Image Processing Blockset Version 2.5 (R2008a)
Virtual Reality Toolbox Version 4.7 (R2008a)
Wavelet Toolbox Version 4.2 (R2008a)
xPC Target Version 3.4 (R2008a)
xPC Target Embedded Option Version 3.4 (R2008a)
>>

Danke
Private Nachricht senden Benutzer-Profile anzeigen


denny
Supporter

Supporter



Beiträge: 3.853
Anmeldedatum: 14.02.08
Wohnort: Ulm
Version: R2012b
     Beitrag Verfasst am: 13.05.2008, 22:27     Titel:
  Antworten mit Zitat      
Ja, das hast du:
Zitat:

Image Processing Toolbox Version 6.1 (R2008a)
Private Nachricht senden Benutzer-Profile anzeigen
 
Gast



Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 14.05.2008, 16:30     Titel:
  Antworten mit Zitat      
hallo, freut mich das ich wenigstens die richtige toolbox habe, sollte es dann so funktionieren wie es auf der vorherigen seite bereits ein kollege geschrieben hat funktionieren??

sprich so:

B = rgb2gray(A);
thresh = graythresh(B);
C = im2bw(B,thresh);
D = imfill(C,'holes');
stats = regionprops(D,'BoundaryBox','Extent');
if abs((stats.BoundaryBox(3)-stats.BoundaryBox(4)) < .1 && stats.Extent==1
display('Quadrat');
elseif abs((stats.BoundaryBox(3)-stats.BoundaryBox(4)) < .1 && (.7<stats.Extent & stats.Extent<1)
display('Kreis');
else
display('Dreieck');
end

oder nicht?? Kommt mir irgendwie so kurz vor, ist entweder nur ein Codeschnipsel oder verdammt gut programmiert Smile

Danke für eure Hilfe
 
steve
Ehrenmitglied

Ehrenmitglied



Beiträge: 2.022
Anmeldedatum: 03.09.07
Wohnort: Wien
Version: R2023b
     Beitrag Verfasst am: 14.05.2008, 16:52     Titel:
  Antworten mit Zitat      
Müsste eigentlich, wenn das Bild ordentlich ausgeleuchtet ist...

Probieren geht über studieren Wink

Gruß
Alex
_________________

>> I told me to.

____________________________________
Matlab Cheat Sheet
goMatlab-Knigge - dran gehalten?!
Schon in den FAQ gesucht?
Ist vielleicht bei den Skripten oder den Tutorials was für dich dabei?
Private Nachricht senden Benutzer-Profile anzeigen
 
Gast



Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 15.05.2008, 14:35     Titel:
  Antworten mit Zitat      
cool, danke alex.

werd es demnächst probieren und geb dir bzw. euch dann bescheid.

vielen dank soweit
 
xmatthias
Themenstarter

Forum-Anfänger

Forum-Anfänger


Beiträge: 15
Anmeldedatum: 07.05.08
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 21.05.2008, 18:03     Titel:
  Antworten mit Zitat      
hallo, ich hätte jetzt gerade mal versucht es mit dem gegeben code funktioniert, leider bekomm ich eine fehlermeldung obwohl ich nicht sehe wo der fehler sein sollte. Ich bitte um hilfe.

Mein Code:

% Bild einlesen
image1 = imread('ball.jpg');
B = rgb2gray(image1);
thresh = graythresh(B);
C = im2bw(B,thresh);
D = imfill(C,'holes');
stats = regionprops(D,'BoundaryBox','Extent');
if abs((stats.BoundaryBox(3)-stats.BoundaryBox(4))) < .1 && stats.Extent==1
display('Quadrat');
elseif abs((stats.BoundaryBox(3)-stats.BoundaryBox(4))) < .1 && (.7<stats.Extent & stats.Extent<1)
display('Kreis');
else
display('Dreieck');
end

Die Fehlermeldung die ich beim ausführen erhalte:

??? Error using ==> regionprops>ParseInputs at 1005
Use bwlabel(BW) or double(BW) convert binary image to
a label matrix before calling regionprops.

Error in ==> regionprops at 105
[L,I,requestedStats,officialStats] = ParseInputs(varargin{:});

Error in ==> DSP_Projekt at 7
stats = regionprops(D,'BoundaryBox','Extent');

>>
Private Nachricht senden Benutzer-Profile anzeigen
 
nschlange
Ehrenmitglied

Ehrenmitglied



Beiträge: 1.320
Anmeldedatum: 06.09.07
Wohnort: NRW
Version: R2007b
     Beitrag Verfasst am: 21.05.2008, 18:54     Titel:
  Antworten mit Zitat      
Hi,

lies doch mal ein bisschen in der Doku:
http://www.mathworks.com/access/hel.....olbox/images/f0-3373.html
Guck Dir die Fehlermeldung genauer an, guck Dir bwlabel an, guck Dir regionprops an.

Vielleicht lädst Du auch mal die Bilder hoch, mit denen Du das versuchen möchtest...
_________________

Viele Grüße
nschlange

"Chuck Norris ejakuliert fluessigen Stahl!"
Private Nachricht senden Benutzer-Profile anzeigen E-Mail senden
 
steve
Ehrenmitglied

Ehrenmitglied



Beiträge: 2.022
Anmeldedatum: 03.09.07
Wohnort: Wien
Version: R2023b
     Beitrag Verfasst am: 21.05.2008, 20:33     Titel:
  Antworten mit Zitat      
xmatthias hat Folgendes geschrieben:
??? Error using ==> regionprops>ParseInputs at 1005
Use bwlabel(BW) or double(BW) convert binary image to
a label matrix before calling regionprops.

Das sagt doch schon was zu tun ist Wink

Code:
% [...]
E = bwlabel(D);
stats = regionprops(E,'BoundaryBox','Extent');
% [...]
 


Gruß
Alex
_________________

>> I told me to.

____________________________________
Matlab Cheat Sheet
goMatlab-Knigge - dran gehalten?!
Schon in den FAQ gesucht?
Ist vielleicht bei den Skripten oder den Tutorials was für dich dabei?
Private Nachricht senden Benutzer-Profile anzeigen
 
nschlange
Ehrenmitglied

Ehrenmitglied



Beiträge: 1.320
Anmeldedatum: 06.09.07
Wohnort: NRW
Version: R2007b
     Beitrag Verfasst am: 21.05.2008, 20:42     Titel:
  Antworten mit Zitat      
...um der nächsten Frage gleich vorzugreifen:
Es gibt kein 'BoundaryBox'.
Wie es richtig heißt ist in u.a. im oben angegebenen Link nachzulesen. Wink
_________________

Viele Grüße
nschlange

"Chuck Norris ejakuliert fluessigen Stahl!"
Private Nachricht senden Benutzer-Profile anzeigen E-Mail senden
 
steve
Ehrenmitglied

Ehrenmitglied



Beiträge: 2.022
Anmeldedatum: 03.09.07
Wohnort: Wien
Version: R2023b
     Beitrag Verfasst am: 21.05.2008, 20:47     Titel:
  Antworten mit Zitat      
Verdammt... Wie bin ich denn auf BoundaryBox gekommen?!?! Rolling Eyes
Naja, egal... Hilfe lesen schadet auch nicht Wink
_________________

>> I told me to.

____________________________________
Matlab Cheat Sheet
goMatlab-Knigge - dran gehalten?!
Schon in den FAQ gesucht?
Ist vielleicht bei den Skripten oder den Tutorials was für dich dabei?
Private Nachricht senden Benutzer-Profile anzeigen
 
xmatthias
Themenstarter

Forum-Anfänger

Forum-Anfänger


Beiträge: 15
Anmeldedatum: 07.05.08
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 30.05.2008, 13:42     Titel:
  Antworten mit Zitat      
hy, ich habe mich unter eurem link umgeschaut, bin aber anfänger und hab nicht entdeckt wo der fehler sein soll. Ich bitte um Hilfe, Bitte

Ich habe folgenden code versucht, bekomme aber leider immer noch fehler.

Im anhang ist ein bild das ich zb. als kreis interpretieren möchte.

Mein Code:

% Bild einlesen
image1 = imread('ball.jpg');
B = rgb2gray(image1);
thresh = graythresh(B);
C = im2bw(B,thresh);
D = imfill(C,'holes');
E = bwlabel(D);
stats = regionprops(D,'BoundBox','Extent');
if abs((stats.BoundaryBox(3)-stats.BoundaryBox(4))) < .1 && stats.Extent==1
display('Quadrat');
elseif abs((stats.BoundaryBox(3)-stats.BoundaryBox(4))) < .1 && (.7<stats.Extent & stats.Extent<1)
display('Kreis');
else
display('Dreieck');
end

Fehler:

??? Error using ==> regionprops>ParseInputs at 1005
Use bwlabel(BW) or double(BW) convert binary image to
a label matrix before calling regionprops.

Error in ==> regionprops at 105
[L,I,requestedStats,officialStats] = ParseInputs(varargin{:});

Error in ==> DSP_Projekt at 8
stats = regionprops(D,'BoundBox','Extent');

ball.jpg
 Beschreibung:

Download
 Dateiname:  ball.jpg
 Dateigröße:  12.8 KB
 Heruntergeladen:  1216 mal
Private Nachricht senden Benutzer-Profile anzeigen
 
steve
Ehrenmitglied

Ehrenmitglied



Beiträge: 2.022
Anmeldedatum: 03.09.07
Wohnort: Wien
Version: R2023b
     Beitrag Verfasst am: 02.06.2008, 10:10     Titel:
  Antworten mit Zitat      
Moin Matthias,
die Fehlermeldung sagt eigentlich was los ist:
Zitat:
stats = regionprops(D,'BoundBox','Extent');

Das bedeutet, dass irgendetwas beim Aufruf von regionprops nicht stimmt. In diesem Fall kennt Matlab 'BoundBox' nicht, was man feststellen kann, wenn man sich alle möglichen Übergabeelemente in der Hilfe anschaut und mit seiner eigenen Übergabe vergleicht Wink

Der folgende Code funktioniert soweit, wird dir aber sagen, das du ein Dreick und ein Quadrat in deinem Bild hast. Das kommt daher das unten am Ball ein Schatten ist, der das Bild verzerrt, so dass die if-Abfragen nicht greifen können. Das Quadrat ist ein einzelnes Pixel direkt über dem Ball.
Code:
image1 = imread('ball.jpg');
B = rgb2gray(image1);
figure,
imshow(B);
thresh = graythresh(B);
C = im2bw(B,thresh);
C = ~C; % Da du einen weißen Hintergrund hast und weiß immer als '1' interpretiert wird
figure,
imshow(C);
C = imclearborder(C,4);
D = imfill(C,'holes');
figure,
imshow(D);
E = bwlabel(D);
stats = regionprops(E,'BoundingBox','Extent');
for i=1:numel(stats)
    if abs((stats(i).BoundingBox(3)-stats(i).BoundingBox(4))) < .1 && stats(i).Extent==1
        display('Quadrat');
    elseif abs((stats(i).BoundingBox(3)-stats(i).BoundingBox(4))) < .1 && (.7<stats(i).Extent & stats(i).Extent<1)
        display('Kreis');
    else
        display('Dreieck');
    end
end


Gruß
Alex
_________________

>> I told me to.

____________________________________
Matlab Cheat Sheet
goMatlab-Knigge - dran gehalten?!
Schon in den FAQ gesucht?
Ist vielleicht bei den Skripten oder den Tutorials was für dich dabei?
Private Nachricht senden Benutzer-Profile anzeigen
 
xmatthias
Themenstarter

Forum-Anfänger

Forum-Anfänger


Beiträge: 15
Anmeldedatum: 07.05.08
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 05.06.2008, 13:54     Titel:
  Antworten mit Zitat      
hy alex,

erstmal vielen dank für deine erklärung bzw. deinen code.
ich habe aber dennoch ein problem damit, und zwar bekomme ich auch bei einem "schön-gezeichneten" Kreis mit Paint (SIEHE ANHANG) die Ausgabe das es sich um ein dreieck handelt. Wieso ist das so? an was liegt das??
Das Bild ist doch wirklich exakt als kreis zu erkennen, oder nicht??

Vielen dank für deine hilfe, grüße matthias

ball.jpg
 Beschreibung:

Download
 Dateiname:  ball.jpg
 Dateigröße:  7.96 KB
 Heruntergeladen:  1284 mal
Private Nachricht senden Benutzer-Profile anzeigen
 
xmatthias
Themenstarter

Forum-Anfänger

Forum-Anfänger


Beiträge: 15
Anmeldedatum: 07.05.08
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 08.06.2008, 14:52     Titel:
  Antworten mit Zitat      
ich kann mir einfach nicht erklären wieso er die formen falsch ausgibt Sad

ich komm nicht dahinter
Private Nachricht senden Benutzer-Profile anzeigen
 
steve
Ehrenmitglied

Ehrenmitglied



Beiträge: 2.022
Anmeldedatum: 03.09.07
Wohnort: Wien
Version: R2023b
     Beitrag Verfasst am: 09.06.2008, 09:53     Titel:
  Antworten mit Zitat      
Moin Matthias,

das liegt daran, dass dein Kreis kein Kreis ist! Wenn du ihn schon mit Paint malst, dann musst du das auch richtig machen: Shift gedrückt halten beim Ellipse ziehen --> ergibt einen schönen Kreis Analog für Quadrate.

Mit diesen Bildern und dem Code von oben funktioniert bei mir alles so, wie es soll...

Gruß
Alex

Dreieck.jpg
 Beschreibung:

Download
 Dateiname:  Dreieck.jpg
 Dateigröße:  7.2 KB
 Heruntergeladen:  1613 mal
Quadrat.jpg
 Beschreibung:

Download
 Dateiname:  Quadrat.jpg
 Dateigröße:  7.2 KB
 Heruntergeladen:  1488 mal
Kreis.jpg
 Beschreibung:

Download
 Dateiname:  Kreis.jpg
 Dateigröße:  8.25 KB
 Heruntergeladen:  1529 mal

_________________

>> I told me to.

____________________________________
Matlab Cheat Sheet
goMatlab-Knigge - dran gehalten?!
Schon in den FAQ gesucht?
Ist vielleicht bei den Skripten oder den Tutorials was für dich dabei?
Private Nachricht senden Benutzer-Profile anzeigen
 
Neues Thema eröffnen Neue Antwort erstellen

Gehe zu Seite Zurück  1, 2, 3  Weiter

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.