Sto provando a convertire un'immagine in un segnale audio in MATLAB trattandolo come uno spettrogramma as in Aphex Twin's song on Windowlicker. Sfortunatamente, sto avendo problemi a ottenere un risultato.Spettrogramma inverso A La Aphex Twin in MATLAB
Qui quello che ho in questo momento:
function signal = imagetosignal(path, format)
% Read in the image and make it symmetric.
image = imread(path, format);
image = [image; flipud(image)];
[row, column] = size(image);
signal = [];
% Take the ifft of each column of pixels and piece together the real-valued results.
for i = 1 : column
spectrogramWindow = image(:, i);
R = abs(ifft(spectrogramWindow));
% Take only the results for the positive frequencies.
signalWindow = R(1 : row/2.0);
signal = [signal; signalWindow];
end
end
Così, mi sto prendendo Inverse trasformate di Fourier su colonne di mia immagine e poi metterli insieme per formare un segnale. Inoltre, questa funzione utilizza gli strumenti di elaborazione delle immagini per MATLAB per la lettura delle immagini. L'obiettivo è di avere qualche variazione di
spectrogram(imagetosignal('image', 'bmp'));
risultato in qualcosa che assomiglia all'immagine originale. Apprezzerei molto ogni aiuto! Sto solo imparando l'elaborazione del segnale, quindi non essere sorpreso se c'è un equivoco evidente. Grazie!
Edit: Grazie Dave! Ho funzionato! Ho finito con questo:
function signal = imagetosignal(path, format)
% Read in the image and make it symmetric.
image = imread(path, format);
image = [image; flipud(image)];
[row, column] = size(image);
signal = [];
% Take the ifft of each column of pixels and piece together the results.
for i = 1 : column
spectrogramWindow = image(:, i);
signalWindow = real(ifft(spectrogramWindow));
signal = [signal; signalWindow];
end
end
Quindi, qual è esattamente il problema che stai avendo? – gnovice
Sulla via del ritorno, la metà superiore dell'immagine è effettivamente mancante, e ciò che rimane sbavature verso l'alto orribilmente. –
Felice che funzioni. Sentiti libero di scegliere la mia risposta;) –