Guten Abend,
ich bin aktuell an einer Arbeit dran.
Es geht darum Dicom *dcm Dateien, einzulesen, einmal auszugeben, dann zu beschneiden und zu analysieren.
Nun was heißt das, es gibt eine Kugel auf einer Platte zu testzwecken, und die Platte soll aus dem Bild ermittelt werden, wie auch radius und mittelpunkt der Kugel:
%Festlegung der Var(Bereiche)
Bereich1=L
Bereich2=L
Bereich3=L
Bereich4=L
Bereich5=L
%Erkennen der Vertikalen
figure(4) subplot(3,3,1) for iRow = 1:size(L, 1)
ini = find(L(iRow, :), 1, 'first');
fin = find(L(iRow, :), 1, 'last');
L(iRow, ini+1:fin-1) = 0;
end
%Linker Rand der Platte
subplot(3,3,2) for iCow = 1:size(Bereich1, 1)
ini = find(Bereich1(iCow, :), 1, 'first');
fin = find(Bereich1(iCow, :), 1, 'last');
Bereich1(iCow, ini+1:fin+1) = 0;
end
spy(Bereich1) mean(Bereich1) %Mitteln des Bereich
%Rechter Rand der Platte
subplot(3,3,3) for iCow = 1:size(Bereich2, 1)
ini = find(Bereich2(iCow, :), 1, 'first');
fin = find(Bereich2(iCow, :), 1, 'last');
Bereich2(iCow, ini-1:fin-1) = 0;
end
%Erkennen der Vertikalen
subplot(3,3,4) for iCow = 1:size(Bereich3, 2)
ini = find(Bereich3(:, iCow), 1, 'first');
fin = find(Bereich3(:, iCow), 1, 'last');
Bereich3(iCow, ini+1:fin-1) = 0;
end
%Oberer Rand der Platte
subplot(3,3,5) for iCow = 1:size(Bereich4, 2)
ini = find(Bereich4(:, iCow), 1, 'first');
fin = find(Bereich4(:, iCow), 1, 'last');
Bereich4(ini+1:fin+1,iCow) = 0;
end
%Unterer Rand der Platte
subplot(3,3,6) for iCow = 1:size(Bereich5, 2)
ini = find(Bereich5(:, iCow), 1, 'first');
fin = find(Bereich5(:, iCow), 1, 'last');
Bereich5(ini-1:fin-1,iCow) = 0;
end
Nun wie erkennbar, habe ich ein Histogramm erstellt, und versucht über Edge die Kanten erkennen zu lassen, was soweit erstmal richtig ist.
Nun soll ich die Einsen, welche als Rand angezeigt werden, in ihrer Position ausgegeben und dann mitteln, damit ich die Mittelpunkte der geraden habe.
Das Problem ist, ich arbeite selten mit Octave und hab echt keine Ahnung wie ich es weiter umsetzen kann, bzw viel besser machen kann, der Code wirkt nämlich nicht wirklich "gut"
Eventuell kann mir jemand helfen
Danke schon mal^^
_________________
Liebe Grüße
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.