Signal- und Messdatenverarbeitung


Testcodes für Kapitel 13: Kosinustransformation

systematische Zusammenstellung von kombinierbaren Programmabschnitten zur Signal- und Messdatenverarbeitung

Python Matlab/Octave
Vorbereitung (Laden von Modulen/Paketen)
#python -m pip install --upgrade numpy
#python -m pip install --upgrade matplotlib
#python -m pip install --upgrade scipy
#pip install --upgrade numpy
#pip install --upgrade matplotlib
#pip install --upgrade scipy
from numpy import *
from matplotlib.pyplot import *
from scipy.fftpack import *
Octave:
pkg load signal
Bild laden
from sys import *
if version_info.major==2:
  from urllib2 import *

if version_info.major==3:
  from urllib import *

from PIL.Image import *
b=open(urlopen('http://nambis.bplaced.de/nambis/SMDV/schneemann.png'))
type(b)
imshow(b,cmap='gray')
show()
b=imread('http://nambis.bplaced.de/nambis/SMDV/schneemann.png');
imshow(b)
imgps=get(gcf,'Position');
set(gcf,'Position',[imgps(1),imgps(2),560,420])
Diskrete Kosinustransformation (wirkt nur eindimensional)
C=dct(b,type=2)
imshow(C,cmap='gray',vmax=abs(C).max(),vmin=-abs(C).max())
show()
C=dct(double(b)); % DCT-II ist voreingestellt, bei Matlab durch Parameter zu veraendern, bei Octave nicht zu veraendern
imshow(C,[min(min(C)),max(max(C))])
imgps=get(gcf,'Position');
set(gcf,'Position',[imgps(1),imgps(2),560,420])
Rücktransformation
br=idct(C,type=2)
imshow(br,cmap='gray')
show()
br=idct(C);
imshow(br,[min(min(br)),max(max(br))])
imgps=get(gcf,'Position');
set(gcf,'Position',[imgps(1),imgps(2),560,420])