Program Matlab rotasi gambar 90 derajat
function rotasi90ka %rotasi citra 90 searah jarum jam A=imread('cameraman.tif'); d=A; [baris kolom]=size(A); for i=1:baris; for j=1:kolom; d(j, baris+1-i)=A(i,j); end end subplot(1,2,1), imshow(A); subplot(1,2,2), imshow(d); Program matlab smoothing citra
function smoothing A=imread('cameraman.tif'); %m=[0 -1 0;-1 4 -1;0 -1 0]; %m=[1/16 1/8 1/16;1/8 1/4 1/16 ;1/16 1/8 1/16] m=[1/10 1/10 1/10;1/10 1/5 1/10;1/10 1/10 1/10]; %m=[-1 -1 -1;-1 9 -1;-1 -1 -1]; A=double(A); d=A; [baris kolom]=size(A); for i=2:baris-1; for j=2:kolom-1; d(i,j)=A(i-1,j-1)*m(1,1)+A(i-1,j)*m(1,2)+A(i-1,j+1)*m(1,3)+A(i,j1)*m(2,1)+A(i,j)*m(2,2)+A(i,j+1)*m(2,3)+A(i+1,j1)*m(3,1)+A(i+1,j)*m(3,2)+A(i+1,j+1)*m(3,3); if d(i,j)>255 d(i,j)=255; else if d(i,j) d(i,j)=0; end end end end C=uint8(A); subplot (2,2,1), imshow(C); subplot (2,2,2), imhist(C); D=uint8(d) subplot (2,2,3), imshow(D); subplot (2,2,4), imhist(D);
Aplikasi Rotasi Image dengan matlab 7 Posted by Aritha H on Wednesday, November 9, 2011
Labels: PC
untuk membuat alpikasi pengolahan citra rotasi kita menggunakan matlab 7 karena pada matlab 7 sudah menyediakan fasilitas GUI. langusng saja buka matlab 7 anda, kemudian pilih file> new> GUI pertama kita akan membuat menu dengan menu editor. pada tampilan GUI klik icon menu editor. setelah keluar jendela menu editor buat sebuah menu dengan label "open". Accelerator nya Ctrl + O ganti tag nya menjadi "buka" buat menu baru label "save" . Accelerator nya Ctrl + S ganti tag nya menjadi "simpan" buat 1 menu lagi dengan label "exit" tag "keluar", klik ok jika anda sudah selesai membuat menu. langkah selanjutnya adalah membuat static text dan ubah property nya dengan melakukan double click. text1 ubah string : "Program Aplikasi untuk Merotasi Citra" text2 ubah string : "Citra Asli" text3 ubah string : "Citra Hasil Rotasi" text4 ubah string : "Derajat Rotasi" untuk tag nya biarkan saja default text1, text2 dll. guna tag yaitu untuk di function nya nanti. jadi
ketika kita ingin memberi aksi pada text1 kita tinggal menambahkan kode pada function text1 Kemudian buat 2 axes. buat 1 edit text terakhir buat slider ubah propery min nya 1.0 dan max 360.0 susun sehingga seperti ini
simpan file anda dan secara otomatis anda akan mendapatkan file dengan extensi .m selesai untuk GUI sekarang kita ke programming, bukalah file .m anda. cari function slider1_Callback(hObject, eventdata, handles) tambahkan koding berikut % get(hObject,'Min') and get(hObject,'Max') to determine range of slider nilai_slider = get(handles.slider1,'Value'); handles.nilai_slider=round(nilai_slider); guidata(hObject,handles); set(handles.edit1,'String',handles.nilai_slider); hasil = imrotate(handles.data1,handles.nilai_slider,'bilinear','crop'); handles.hasil=hasil; guidata(hObject,handles); axes(handles.axes2); imshow(hasil);
kemudian cari function buka_Callback(hObject, eventdata, handles) tambahkan [nama_file1, nama_path1]=uigetfile(... {'*.bmp;*.jpg','File Citra (*.bmp,*.jpg)'; '*.bmp','File Bitmap (*.bmp)';... '*.jpg','File jpeg (*.jpg)'; '*.*','Semua File (*.*)'},... 'Buka File Citra Host/Asli'); if ~isequal(nama_file1, 0) handles.data1=imread(fullfile(nama_path1,nama_file1)); guidata(hObject,handles); handles.current_data1=handles.data1; axes(handles.axes1); imshow(handles.current_data1); axes(handles.axes2); imshow(handles.current_data1); else return; end
selanjutnya pada bagian function simpan_Callback(hObject, eventdata, handles) [nama_file_simpan, path_simpan]=uiputfile(... {'*.bmp','file citra (*.bmp)'; '*.bmp','citra bmp (*.bmp)';... '*.*','Semua File (*.*)'},... 'Menyimpan Citra Hasil Rotasi'); imwrite(handles.hasil,fullfile(path_simpan,nama_file_simpan),'BMP');
function keluar_Callback(hObject, eventdata, handles) selection = questdlg(['Tutup ' get(handles.figure1,'Name') '?'],... ['Tutup ' get(handles.figure1,'Name') '...'],... 'Ya','Tidak','Ya'); if strcmp(selection,'Tidak') return; end delete(handles.figure1)
selesai jalankan aplikasi dengan mengklik Run.
source : http://kuliahkusayang.blogspot.com/2011/11/rotasi-image-dengan-matlab7.html#ixzz2ui3gWvug