7/24/2015

Mapping image onto a sphere menggunakan Octave

Ini adalah contoh gambar yang diambil dengan camera360.


Pada bahasan kali ini, saya akan menunjukkan bagaimana cara mem-plot gambar ini pada objek bola untuk melihat dengan jelas efek 360-nya.



Langkah pertama, simpan code octave berikut dengan nama "sphere_oct.m". Code ini digunakan untuk membuat objek bola.


function [x y z] = sphere_oct(M,N)

q = linspace(0,pi,M);
psi = linspace(0,2*pi,N);
[PSI Q] = meshgrid(psi,q);

z = cos(Q);
y = sin(Q).*sin(PSI);
x = sin(Q).*cos(PSI);



Langkah kedua yaitu membuat fungsi untuk mapping gambar. Simpan code berikut dengan nama "warp_oct.m".

function warp_oct(x,y,z,I)

[ind map] = rgb2ind(I);
surf(x,y,z,ind)
colormap(map), shading interp



Kemudian jalankan program di bawah ini di command window,

close all
clear
clc

I = imread('1.jpg');
[x y z] = sphere_oct(size(I,1),size(I,2));

figure
warp_oct(x,y,z,I)
axis square



dan gambar yang ter-plot di objek bola akan kita dapatkan seperti pada contoh di bawah ini.


dan ini juga



code beserta contoh gambar dapat didownload di link ini.

Selamat mencoba dan semoga bermanfaat.

No comments:

Post a Comment