Ich habe dieses Binärbild mit weißen Flecken: Ich möchte jeden weißen Fleck durch ein Rechteck mit der gleichen Größe von Fleck und wenn möglich mit der gleichen Ausrichtung darstellen. Gibt es irgendeine Funktion, die das macht? Ich kann jede Stelle mit RP erkennen: Weißpunkte durch Rechtecke darstellen
0
A
Antwort
1
Ich würde den kleinsten Feret Durchmesser (kürzeste Projektion) mit entsprechenden Winkel und die senkrechte Projektion berechnen. Das entspricht normalerweise der kleinsten Bounding Box.
Sehen Sie hier für MATLAB-Code auf Durchmesser Feret Berechnung: http://www.crisluengo.net/index.php/archives/408
0
Sie können versuchen, regionprops
wie folgt zu verwenden:
I = imread('tHZhy.png');
stats = regionprops(I, 'centroid', 'Orientation', 'MajorAxisLength','MinorAxisLength', 'BoundingBox');
figure
imshow(I)
hold on
for i=1:length(stats)
xc = stats(i).Centroid;
ma = stats(i).MajorAxisLength/2;
mi = stats(i).MinorAxisLength/2;
theta = -deg2rad(stats(i).Orientation);
dx = [-ma -mi; ma -mi; ma mi; -ma mi; -ma -mi];
R = [cos(theta) -sin(theta); sin(theta) cos(theta)]; % rotation matrix
x = xc + dx*R';
plot(xc(1), xc(2), 'g*');
plot(x(:, 1), x(:, 2), 'g');
end
Beachten Sie, dass das Ergebnis nicht perfekt ist, vor allem für eher quadratische Objekte. Der Grund dafür ist, dass die Hauptdimension am größten ist, wenn sie entlang einer Diagonalen gerichtet ist.
Verwandte Themen
- 1. Chart Rechtecke beliebiger Abmessungen
- 2. Darstellen einer Funktion durch eine mathematische Funktion
- 3. Überlappende Rechtecke
- 4. Octave - Plotten Rechtecke
- 5. Erstellen mehrerer Rechtecke in SVG durch D3 Fehler
- 6. Caching Overlays durch Runden von Koordinaten Rechtecke - wie?
- 7. Stopp zwei Rechtecke aus
- 8. Kombinieren überlappende Rechtecke (Python)
- 9. Verbinden Sie benachbarte Rechtecke?
- 10. achsenausgerichtete Rechtecke Schnitt
- 11. Zeichnung Rechtecke und Oval
- 12. Rechtecke erzeugen C++
- 13. Vier Rechtecke gleichzeitig bewegen
- 14. Überschneidende Rechtecke im Raum
- 15. Paraview: als Vektorfeld darstellen
- 16. Darstellen Bezeichner Regular Expression
- 17. AssetManager Texturen geben schwarze Rechtecke
- 18. Zeichnen Rechtecke in Android-Anwendung
- 19. Gruppe Rechtecke in einem Raster
- 20. Sich schneidende Rechtecke vom Array
- 21. 3-D-Rechtecke in Matplotlib
- 22. Gnuplot - Draw Gitter hinter Rechtecke
- 23. Gruppierung in Rechtecke auf einem binären Raster
- 24. Wie man am effizientesten mehrere Rechtecke in JavaFX verschiebt
- 25. Finden Sie Rechtecke ohne Ecken mit opencv
- 26. Objekte, die Bäume darstellen
- 27. R Daten falsch darstellen
- 28. Darstellen HashMap im Klassendiagramm
- 29. Darstellen eines Labyrinths
- 30. d3.js Sankey-Diagramm: Rechtecke füllen Farbe
Danke. Ich werde es versuchen –