Gast
#516090
Hallo,
meine Aufgabe ist es mittels Matlb ein Bild in einen bestimmten Winkel
rotieren zu lassen. Dass habe ich mal geschafft. Doch zusätzlich muss
ich das Bild wieder zurückdrehen, die schwierigkeit dabei ist jedoch
dass ich auf die Information nicht zurückgreifen darf, sondern
herausfinden muss in welchen Winkel sich das Bild befindet. Das geht an
geblich mit der Radon Funktion. Deshalb hab ich mich da ein bisschen
herumgespielt.
Hat zu diesen Thema vielleicht wer eine Ahnung.
Hier ist mal der Matlab Source Code.
%Image Rotation am 27.02.2007
clf
clc
%I = imread('cameraman.tif');
M= imread ('C:\Programme\Matlab6.5\toolbox\images\imdemos\kreuz3.jpg');
%J = imrotate(I,-45,'bilinear','crop');
N = imrotate(M,-45,'bilinear','crop');
%subplot (2,2,1)
%imshow (I)
%subplot (2,2,2)
%imshow (J)
subplot (2,2,1)
imshow (M)
subplot (2,2,2)
imshow (N)
%figure (2)
%imhist(N)
theta=0:180;
[R,xp]=radon(N,theta);
subplot (2,2,3)
b=imagesc(theta,xp,R);
title('R_{\theta}(X\prime)');
xlabel('\theta(degrees)');
ylabel('X\prime');
set(gca,'XTick',0:20:180);
colormap(hot);
colormap(gray);
%colorbar
%subplot (2,2,4)
%imagesc(theta,xp,R)
%colormap('gray')
figure(2)
clf
%subplot (2,2,4)
r=reshape(R,1,181*193)
figure (2)
h=imhist(r,180)
plot (h)
figure(3)
mesh(R)
max(max(R))
e= find(R>15500)
length(e)
f=r(e)
figure(4)
plot (f)
%modulo
Im Prinzip habe ich hier dann mal mein Maxima rausgefiltert und brauche
nur noch die Winkelinformation aus diesen Wert herauslesen.