Yang dalam hal ini, Xp dan Yp merupakan titik pivot rotasi. Pivot yang dimaksud adalah koordinat titik tengah dari citra. Jika sudut rotasinya 90°, maka implementasinya lebih mudah dilakukan dengan cara menyalin pixel-pixel baris ke pixel-pixel kolom pada arah rotasi (Gambar 4.10). Rotasi 180° diimplementasikan dengan melakukan rotasi 90° dua kali. Algoritma rotasi citra sejauh 90 derajat berlawanan arah jarum jam ditunjukkan pada Algoritma 4.9, sedangkan rotasi citra sejauh 90 derajat searah jarum jam ditunjukkan pada Algoritma 4.10 [HEN95]. function J = rotasi(I,T) m = size(I,1);n = size(I,2); if rem(m,2) == 0, Xp = floor((m+1)/2)+1;else Xp = floor((m+1)/2);end if rem(n,2) == 0, Yp = floor((n+1)/2)+1; else Yp = floor((n+1)/2); end X = zeros(m,n); Y = zeros(m,n); for x = 1 : m, X(x,1:n) = x; endfor y = 1 : n, Y(1:m,y) = y; end Xa = round(Xp + (X - Xp)*cosd(T) - (Y - Yp)*sind(T));Ya = round(Yp + (X - Xp)*sind(T) + (Y - Yp)*cosd(T)); r = size(min(Xa(:)) : max(Xa(:)),2);c = size(min(Ya(:)) : max(Ya(:)),2); xs = round(abs(r-m)/2);ys = round(abs(c-n)/2); J = zeros(r,c); for x = 1 : m for y = 1 : n J(Xa(x,y)+xs,Ya(x,y)+ys) = I(x,y); end end New Scrip clear all; clc;T = 45;I = imread('cameraman.tif');J = rotasi(I,T);imshow(uint8(J)); Contah: I = imread('cameraman.tif'); J = imrotate(I,35,'bilinear','crop'); Imshow(I) figure, imshow(J) |
Download : operasi dasar pengolahan citra digital.pdf |
Sabtu, 30 Agustus 2014
Pengolahan Citra - Rotasi
Langganan:
Posting Komentar (Atom)
Tidak ada komentar:
Posting Komentar