2017-12-03 3 views
0

Ich versuche, ein Beispielbild in Graustufen zu konvertieren und dann seine Matrixwerte auszugeben. VerwendenKonvertieren von Bildern in Matrixwerte unter Beibehaltung der Positionierung und Struktur

Ich bekomme die Matrixwerte des Bildes, aber sie sind nicht richtig ausgerichtet und mit größeren Dateien verursacht dies ein Problem. Gibt es eine Möglichkeit, die Matrixwerte direkt in eine TXT-Datei zu schreiben und dabei ihre Position beizubehalten?

Meine aktuellen Code für sie ist:

clc 
close all 
im=imread('a.png'); 
im = double(im)/255; 
im = rgb2gray(im); 
disp(im) 

Antwort

1

Wenn Sie ein echtes Schwarz und Weiß, verwenden Sie im2bw (reference):

clc() 
close all; 

im = imread('a.png'); 
im = double(im); 
im = im2bw(im); 
imshow(im); 

Wenn Sie eine Graustufen möchten, verwenden Sie rgb2gray statt (reference):

clc() 
close all; 

im = imread('a.png'); 
im = double(im); 
im = rgb2gray(im); 
imshow(im); 

Dies ist der Teil des Codes, der die Dinge durcheinander:

im = double(im)/255; 

Wenn Sie schreiben wollen jede numerische Matrix in eine Textdatei, ein gutes Werkzeug ist die dlmwrite Funktion (reference):

dlmwrite('C:\path\my_text.txt',my_array); 

von Standardmäßig ist das verwendete Trennzeichen ,, Sie können es jedoch mit den Funktionsparametern ändern, zum Beispiel:

dlmwrite('C:\path\my_text.txt',my_array,'delimiter','\t'); % use tabs 
Verwandte Themen