Mein MATLAB Forum - goMatlab.de

Mein MATLAB Forum

 
Gast > Registrieren       Autologin?   
Bücher:

Fachkräfte:
Systemarchitekt Projektmanagement (m/w) DOORS / Matlab /CAN
Erstellung der Systemarchitektur und Auslegung sicherheitsrelevanter Systeme
Bertrandt Services GmbH - Espelkamp

Funktionsentwickler (w/m) Automobile
Entwicklung von modellbasierten Softwarelösungen in Simulink inklusive Autocode-Generierung
Bertrandt Ing.-Büro GmbH Rüsselsheim - Frankfurt am Main

Softwareentwickler (m/w) automatische Codegenerierung
Umsetzung, Neuprogrammierung und Weiterentwicklung in Simulink, TargetLink und C
EFS - Ingolstadt, Wolfsburg

Funktionskomponentenverantwortlicher (m/w) Fahrerassistenzsysteme
Funktionsentwicklung von Fahrerassistenzsystemen im Bereich Lateral Cruising Functions
Continental AG - Frankfurt

Software-Entwicklungsingenieur (m/w) Referenzierungsmethoden autonomes Fahren
Automatisierung von Bewertungsmethoden und Kalibrierverfahren nach Kundenanforderungen
EFS - Ingolstadt

weitere Angebote

Partner:


Vermarktungspartner


Forum
      Option
[Erweitert]
  • Diese Seite per Mail weiterempfehlen
     


Gehe zu:  
Neues Thema eröffnen Neue Antwort erstellen

normxcorr2 und Bilderdatenbank

 

KeRo
Forum-Anfänger

Forum-Anfänger


Beiträge: 15
Anmeldedatum: 28.01.14
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 21.12.2017, 09:22     Titel: normxcorr2 und Bilderdatenbank
  Antworten mit Zitat      
Hallo MATLAB'er,

ich benötige etwas Hilfestellung bei folgendem Projekt.

Mein Ziel ist es Karten beim Onlinepoker zu erkennen und damit in Matlab weiterarbeiten zu können.

Das funktioniert mit normxcorr2 und nur einer Karte einwandfrei.

1.Screencapture:
Code:
I = rgb2gray(screencapture(0, 'Position', [960 392 960 688]));

2. Template Karte laden:
Code:
C = rgb2gray(imread('db_cards/9d.jpg'));

3. mit normxcorr2 vergleichen:
Code:
R = normxcorr2(C,I)

4. anschließend mit insertShape markieren:
Code:
RGB = insertShape(Irgb, 'rectangle', [c-5 r-5 Cc+10 Cr+10], 'LineWidth', 2, 'color', 'magenta');


Jetzt kommt Ihr ins Spiel. Es muss ja nicht nur eine Karte verglichen werden, sondern 52 Karten. Wie vergleicht man die Kartendatenbank (52Stk) mit den Karten auf dem Pokertisch? Man müsste ja 52 Karten mit einem Screencapture vergleichen.
Im Anschluss brauch ich auch eine Rückgabe welche Karten tatsächlich gefunden wurden.

Beispiel: Ich screencapture den Flop. Das heißt, ich muss 3 Karten erkennen, diese anschließend markieren und in 3 Variablen übergeben um damit weiterarbeiten zu können.

Ich hoffe Ihr habt da einen Ansatz für mich.

Mein bisheriger Code nochmal als Ganzes:

Code:
for n = 1:1

%Capture Screen    
Irgb = screencapture(0, 'Position', [960 392 960 688]);

I = rgb2gray(screencapture(0, 'Position', [960 392 960 688]));
[Ir Ic ]=size(I);
figure(3),imshow(I);

pause(2)

%read Cardstemplates
C = rgb2gray(imread('db_cards/9d.jpg'));
[Cr Cc ]=size(C); %get template size

%looking for correlation
R = normxcorr2(C,I)
R = imcrop(R, [Cc Cr Ic Ir]);
[r c v] = find(R==(max(max(R))))

%show found correlation
RGB = insertShape(Irgb, 'rectangle', [c-5 r-5 Cc+10 Cr+10], 'LineWidth', 2, 'color', 'magenta');
%RGB = insertText(Irgb, [c r], '9d', 'FontSize',20,'TextColor', 'white');

imshow(RGB)

pause(1)
disp(n)

end


Vielen Dank,
Private Nachricht senden Benutzer-Profile anzeigen


sqk88024
Forum-Newbie

Forum-Newbie


Beiträge: 6
Anmeldedatum: 14.01.18
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 15.01.2018, 20:55     Titel:
  Antworten mit Zitat      
Wäre es denn möglich drei einzelne Screenshots zu erstellen. Alle drei einzeln abzuspeichern und drei separate Vergleiche durchzuführen. Quasi was schon programmiert ist einach drei mal laufen lassen ?
Private Nachricht senden Benutzer-Profile anzeigen
 
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
.


goMatlab ist ein Teil des goForen-Labels
goForen.de goMATLAB.de goLaTeX.de goPCB.de


 Impressum  | Nutzungsbedingungen  | Datenschutz  | Werbung/Mediadaten | Studentenversion | FAQ | goMatlab RSS Button RSS


Copyright © 2007 - 2018 goMatlab.de | Dies ist keine offizielle Website der Firma The Mathworks
Partner: LabVIEWforum.de

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.