You are on page 1of 2

[image processing]

September 28, 2012

PUT POINTS MANUALLY ON FIGURE IN MATLAB

Dalam tulisan ini akan dibahas bagaimana kita bisa menempatkan titik-titik secara manual pada gambar ataupun grafik. Ini perlu dalam beberapa hal misalnya bila ingin membuat cropping citra secara manual dengan bentuk yang beragam, bisa juga ketika menambahkan data baru dalam sebuah grafik yang akan mengolah data baru tersebut secara otomatis. Penambahan data tidak dilakukan di dalam program, melainkan melalui interaksi dengan user sehingga memberikan sifat interaktif pada program. Tidak dibutuhkan teori apapun selain imajinasi dan pengetahuan dalam Matlab. Karena kita tidak sedang membahas algoritma seperti artikel saya lainnya. Hal pertama yang perlu dipahami adalah fungsi WINDOWBUTTONDOWNFCN merupakan sebuah event yang bila dieksekusi (CLICK MOUSE) akan memanggil sebuah rutin (fungsi) buatan kita sendiri. Dalam program ini bentuknya adalah
set(gcf,'windowbuttondownfcn',@ondown);

event tersebut akan memanggil rutin ONDOWN yang baik nama maupun isinya merupakan kreatifitas sendiri. Ada 2 bentuk pemrograman yang saya tulis, silakan di simak di bawah ini. Eventevent lainnya bisa dilihat di HELP Matlab. Tampak bahwa tidaklah susah untuk mengerti penggunaan event ini. Dalam program saya juga menyertakan penyimpanan data-data koordinat ketika kita menempatkan titik-titik pada citra.

Di bawah ini adalah code program yang bekerja dengan baik.

function letaktitik warning off; % filename = '006.jpg'; filename = '191356,xcitefun-cartoon-pluto.jpg'; I = imread(filename); imshow(I); hold on; set(gcf,'windowbuttondownfcn',@ondown); x = []; y = []; I2 = []; function ondown(src,ev) points = get(gca,'currentpoint'); koor = round(points); tempX = koor(1,1); tempY = koor(1,2); x = [x tempX];

[janshendry@gmail.com]

Page 1

[image processing]

September 28, 2012

y = [y tempY]; Intens = I(tempY, tempX); I2 = [I2 Intens]; text('Position',[koor(1,1)+5,koor(1,2)+5],... 'String',strcat('(',num2str(tempY),... ',',num2str(tempX),')')); plot(tempX,tempY,'r*'); end end

Hasil eksekusi program di atas dapat diperhatikan di bawah ini.

Penanganan akan berbeda bila yang ditampilkan adalah grafik biasa. Koordinat yang ditampilkan pada TEXT tinggal dibolak-balik.

Sumber gambar: http://forum.xcitefun.net/cartoon-animals-iconic-comic-characters-t50128.html http://www.joblack59.com/HMS/us/2009-10/miyoshi/kerry.html

@ thanks

[janshendry@gmail.com]

Page 2

You might also like