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

Dunklen Rand erkennen und entfernen

 

JohnnyN

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 28.02.2012, 09:00     Titel: Dunklen Rand erkennen und entfernen
  Antworten mit Zitat      
Hallo,
Ich benutze die Imaging Toolbox um ein Graustufenbild als Matrix einzulesen und auszuwerten.

Das erste Bild zeigt Die Figur, wie sie als PNG Datei aussieht.

Im zweiten Bild sieht man schon Andeutungen des dunkleren Randbereichs, der beim Ausdrucken entsteht. Ein Benutzer hat in Schwarz auch schon den auszuwertenden Bereich eingetragen.

Im dritten Bild hat sich der dunkle Rand nach dem Scannen noch verdeutlicht.

Und das vierte Bild gibt die Bereiche an, die Matlab dann als schwarz, grau und weiß erkennt.

Bisher ist das nicht groß aufgefallen, da der Scanner und Drucker diese Verdunkelung nur minimal erzeugt haben. Jetzt im Praxistest werden allerdings andere Scanner verwendet. Da das Projekt mittlerweile in einem sehr späten Stadium ist, tue ich mich gerade ein bischen schwer mich von Grund auf einzulesen und wäre für jeden Tipp dankbar, wie ich die Randbereiche an den grauen Rest angleichen kann, ohne das schwarz eingezeichnete auch auszugrauen.

Unbenannt.JPG
 Beschreibung:

Download
 Dateiname:  Unbenannt.JPG
 Dateigröße:  7.88 KB
 Heruntergeladen:  785 mal


JohnnyN

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 28.02.2012, 09:28     Titel:
  Antworten mit Zitat      
OK, Asche auf mein Haupt, mit der edge Funktion geht das sogar sehr einfach, es erstellt eine Matrix in der jede Kante eine 1 und alle anderen Elemente eine 0 sind. Kann ich diese Matrix nun irgendwie verwenden, um alle Elemente in der Grauwertmatrix, die in der Kantenmatrix eine 1 sind auf den Wert X zu setzen?
 
Hubertus
Forum-Meister

Forum-Meister


Beiträge: 1.034
Anmeldedatum: 08.01.09
Wohnort: Hamburg
Version: ---
     Beitrag Verfasst am: 28.02.2012, 09:40     Titel:
  Antworten mit Zitat      
Moin,

also eine Möglichkeit ist, die Bereiche, die stören, mit: >> impixelinfo zu selektieren und auf den daneben liegenden Wert (bei Grauwerten) zu setzen.
Man könnte auch die Ränder einfach von der Matrix entfernen, dann wird das Bild um den Betrag kleiner. Problematisch wird das nur bei der Schrägen.
Ingesamt wäre das zwar in stückweisen Schritten möglich, wenn auch ein wenig aufwendig, aber du kannst die Daten dann auf jedes folgende Bild übertragen.

Viele Grüße

Hubertus
Private Nachricht senden Benutzer-Profile anzeigen
 
JohnnyN

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 28.02.2012, 09:45     Titel:
  Antworten mit Zitat      
Hallo Hubertus,

Vielen Dank für die Antwort, ich habe gerade die edge Funktion mit verschiedenen Algorithmen durchlaufen lassen und erhalte besonders mit prewitt und sobel sehr gute Ergebnisse. Die Matrix wird danach nach Schwellenwerten durchsucht, die von mir festgesetzt werden (Grundfunktion des ganzen Programms). Meine Idee ist jetzt: Die Original Graustufenmatrix (GM) und die mit edge bearbeitete 0/1er Matrix (EM) übereinander zu legen und über dort in der GM einen Wert höher als den Schwellenwert einzufügen, wo die EM eine 1 zeigt. Wie kann ich das machen?
 
Hubertus
Forum-Meister

Forum-Meister


Beiträge: 1.034
Anmeldedatum: 08.01.09
Wohnort: Hamburg
Version: ---
     Beitrag Verfasst am: 28.02.2012, 09:54     Titel:
  Antworten mit Zitat      
Für deine Frage habe ich noch keine Antwort. Leider kann ich dein Bild auf die Schnelle nicht laden - hänge nicht im Netz.Ich habe mir so ein ähnliches Bild gemacht. Versuche doch mal das:

Code:
I=imread(Bild);
se=strel('rectangle',[25 60]);
B=imdilate(I,se);
figure; imshow(B)
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
.





 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.