% -------------------------------------------------- % Aufgabe: Korrelation ausgewählter Punkte (Fenster) % --------------------------------------------------
% Übung in Digitaler Bildzuordnung - Analyse von Fenstergrößen und Lage der Punkte auf das % Zuordnungsergebnis % zu ergänzen: % a) Berechnung und grafische Darstellung von Parallaxen % b) Analyse unterschiedlicher Fenstergrößen durch einmaliges Auswählen von Punkten, Zuordnung mit % Fenstergröße A und danach Korrelation mit Fenstergröße B an den gl. Punkten. % Tabellarische und grafische Darstellung der Ergebnisse % Datum: 4.5.2007
%
%Input: 2 Bilder
% Korrelationsfenstergröße % Suchfenstergröße % Schwellwerte für die Korrelation % MH, mit Änderungen EG
%
%*********************************************************************
figure; imshow(Ima1); title(image1_filename) hold on
% Liste als leere Liste initialisieren.
colrow1 = []; %col entspricht x-Achse, row entspricht y-Achse
ipt = 0;
% Schleife, um Punkte auszuwählen/zu messen. disp('Linker Mausbutton: Punkte auswählen/messen.') disp('Rechter Mausbutton: Letzten Punkt auswählen.')
mouse_button = 1;
set(gcf,'DefaultTextColor','red') while mouse_button == 1 [xi,yi,mouse_button] = ginput(1);
% runden auf ganze Pixel
ipt = ipt+1;
xi = round(xi); yi = round(yi);
% sprintf('Punkt %d: col=%d,row=%d',ipt,xi,yi) plot(xi,yi,'go')
textrc = sprintf('%s %s %s %s','r=',int2str(yi),' c=', int2str(xi));
htext = text(xi+10,yi-10,textrc);
colrow1(:,ipt) = [xi;yi];
end hold off
% Startwerte figure, imshow(Ima2), title('Bild 2 mit Startwerten') hold on, plot(colrow2(1,:), colrow2(2,:), 'm <');
for i = 1:ipt
% Bildausschnitt um row1 und col1 entnehmen % template ist ein 11 * 11 großer Bildausschnitt um Bildpunkt
col1 = colrow1(1,i); row1= colrow1(2,i);
template =Ima1(row1 - nw_template: row1 + nw_template,col1 - nw_template: col1 + nw_template);
col2 = colrow2(1,i); row2= colrow2(2,i);
search = imcrop(Ima2,[col2-nw_search, row2-nw_search, search_window_size, search_window_size]); % [x y width height] % Vorteil: imcrop beschränkt automatisch auf max Bildgröße
%% figure, imshow(search)
%Korrelation mit dem zweiten Bild berechnen
%Korrelationsmatrix cc
cc = normxcorr2(template,search);
% Rand bis zur gleichen Größe eliminieren [nrcc,nccc] =size(cc);
ccx = cc(nw_template:nrcc-nw_template, nw_template:nccc-nw_template);
title('Bild 2 mit Korr.Maximum') hold on, set(gcf,'DefaultTextColor','yellow') % plot( colrow2(1,, colrow2(2,, 'y o');
% Schwellwerte um Erfolgsgrad zu unterscheiden % Plot der Punkte wie bei Ampel rot, gelb, grün
threslow = 0.75; threshigh = 0.90;
for i = 1:ipt
hold on
xi=colrow2(1,i); yi= colrow2(2,i);
textrc = sprintf('%s %s %s %s %s%s','r,c=',int2str(yi),',', int2str(xi),...
'cc=',int2str(max_cc(i)*100));
if max_cc(i) < threslow
plot(xi,yi,'ro', xi,yi,'r*');
set(gcf,'DefaultTextColor','red')
htext = text(xi+10,yi-10,textrc);
elseif max_cc(i) > threshigh
plot(xi,yi,'go', xi,yi,'g*');
set(gcf,'DefaultTextColor','green')
htext = text(xi+10,yi-10,textrc);
else plot(xi,yi,'yo', xi,yi,'y*');
set(gcf,'DefaultTextColor','yellow')
htext = text(xi+10,yi-10,textrc);
end end
1. Untersuchen das Zuordnungsverhalten je nach Art des ausgewählten Punktes. (d.h. Korrekte Zuordnung, Korrelationsmaximum)
2. Ergänzen der Software durch Bestimmung der x- und y-Parallaxwn (px=x'-x'', py=y'-y'') und graphische Ausgabe.
3. Ergänzen der Software, dass eine Analyse unterschiedlicher Fenstergrößen möglich ist. (z.B. durch einmaliges Auswählen von Punkten, Zuordnung mit Fenstergröße A und danach Korrelation mit Fenstergröße B an gleichen Punkten mit tabellarischer und graphischer Darstellung der Ergebnisse.
bei allem Respekt, aber ich finde es dreist von Dir die komplette Aufgabenstellung 1:1 hier zu posten! Zu erwarten wäre, dass Du wenigstens Dich selbst damit ausseinander setztst und bei Unklarheiten das Problem in reduzierten Form hier postest, aber nicht so...
Ich habe zwar Ahnung von Bildverarbeitung und Bildkorrelation, aber würde aus Prinzip kein Blick in den Code werfen.
als Lehrbeauftragter an einer Fachhochschule weiß ich leider nur zu gut aus eigener, leidvoller Erfahrung, daß dieses völlig zurecht von Dir gerügte Vorgehen mittlerweile die Standard-Vorgehensweise der Damen und Herren Studenten ist:
1. Googlen o.ä. im Internet
und/oder
2. durch entsprechende Foren vagabundieren
3. irgendein gutmütiger Dödel wird sich schon finden, der einem die Übungsaufgabe/Semesterarbeit löst.
4. Copy/Paste
5. Abgeben
Kein Wunder, daß in Deutschland Mangel an Fachkräften herrscht.
Gruß tompie
outsider hat Folgendes geschrieben:
Hallo Alexander,
bei allem Respekt, aber ich finde es dreist von Dir die komplette Aufgabenstellung 1:1 hier zu posten! Zu erwarten wäre, dass Du wenigstens Dich selbst damit ausseinander setztst und bei Unklarheiten das Problem in reduzierten Form hier postest, aber nicht so...
Ich habe zwar Ahnung von Bildverarbeitung und Bildkorrelation, aber würde aus Prinzip kein Blick in den Code werfen.
MfG
sepp
Gast
Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
Verfasst am: 31.12.2010, 02:23
Titel:
Lehrbeauftragter ... dass ich nicht lache ... wenn ein Student sowas machen würde, dann bekäme er den Wisch um die Ohren gehauen wenn der Prof nur halbwegs google bedienen kann. So ein Vorgehen gehört bestimmt nicht zum Standard.
Aber schön hier mal ein Matlab Beispiel zu finden, wo ich gerade versuche so eine Korrelation durchzuführen.
Das verstehe ich nicht. Möchtest Du infrage stellen, ob tompie Lehrbeauftragter ist?!
Meine Erfahrungen in diesem und anderen Foren und als Übungsgruppenleiter bestätigen auf jeden Fall, dass Studenten versuchen billig an Lösungen ihrer Aufgaben zu gelangen. Professoren haben im Allgemeinen anderes zu tun, als die Hausaufgaben ihrer Studenten von Google checken zu lassen. Im Zweifel ist eine kurze Nachfrage, was der Student denn bei einer bestimmten Zeile beabsichtigt hat, effizienter.
Die Frage von Alexander ist ohne Zweifel ein recht krasses Beispiel. Ich glaube nicht, dass er sich damit auf goMatlab beliebt macht.
Ich kenne aber auch gegenteilige Beispiele, bei denen ich Studenten explizit aufgefordert habe, doch wenigstens auf die Hilfe im großen Internet zuzugreifen.
Ich wünschen allen Lehrbeauftragten und Lernenden ein schönes neues Jahr! Ich muss mich nun doch mal wieder um die Realität kümmern.
2021 und ich sitz immernoch an der sch... und der Fachkräftemangel wird auch immer größer
Einstellungen und Berechtigungen
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
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.