ngodingdulu

Pengolahan Citra Digital dengan MATLAB (Dasar)

Oleh Afa HernandesDiperbarui 6 menit baca

Pengolahan Citra Digital

Pengolahan citra digital merupakan proses yang bertujuan untuk memanipulasi dan menganalisis citra dengan bantuan komputer. Pengolahan citra digital dapat dikelompokkan dalam dua jenis kegiatan :

1. Memperbaiki kualitas suatu gambar, sehingga dapat lebih mudah diinterpretasi oleh mata manusia.

2. Mengolah informasi yang terdapat pada suatu gambar untuk keperluan pengenalan objek secara otomatis.

Bidang aplikasi kedua yang sangat erat hubungannya dengan ilmu pengetahuan pole (pattern recognition) yang umumnya bertujuan mengenali suatu objek dengan cara mengekstrak informasi penting yang terdapat pada suatu citra. Bila pengenalan pola dihubungkan dengan pengolahan citra, diharapkan akan terbentuk suatu sistem yang dapat memproses citra masukan sehingga citra tersebut dapat dikenali polanya. Proses ini disebut pengenalan citra atau image recognition. Proses pengenalan citra ini sering diterapkan dalam kehidupan sehari-hari.

Pengolahan citra dan pengenalan pola menjadi bagian dari proses pengenalan citra. Kedua aplikasi ini akan saling melengkapi untuk mendapatkan ciri khas dari suatu citra yang hendak dikenali. Secara umum tahapan pengolahan citra digital meliputi akusisi citra, peningkatan kualitas citra, segmentasi citra, representasi dan uraian, pengenalan dan interpretasi.

http://www.ittelkom.ac.id

Aplikasi Citra Digital Menggunakan Matlab

Buat Layout seperti gambar dibawah ini :

Pengolahan Citra Digital dengan MATLAB (Dasar) - gambar 1

Beri nama pada masing-masing tag komponen yang digunakan..

Source Code :

function btnBrowse_Callback(hObject, eventdata, handles)
[namafile,direktori]=uigetfile({'*.png;*.jpg','file Image(*.bmp,*.gif)';'*.*','semua file(*.*)'},'buka file image');
alamatimage=fullfile(direktori,namafile);
set(handles.edBrowse,'String',alamatimage);
I=imread(alamatimage);
w=size(I,1);
h=size(I,2);
s=size(I,3);
D='1 DImensi';
if s>=3
D='2 Dimensi';
end
set(handles.ed1,'String',num2str(w));
set(handles.ed2,'String',num2str(h));
set(handles.edType,'String',D);
set(handles.figure1,'CurrentAxes',handles.axes1);
imshow(I);
set(handles.axes1,'Userdata',I);
myicon(:,:,1) = [0 1; 0 1];
myicon(:,:,2) = [.8 1; 0 .3];
myicon(:,:,3) = [.3 0; .9 .5];
h=msgbox('Sukses Load Image','Success','custom',myicon);
function btnResize_Callback(hObject, eventdata, handles)
I=get(handles.axes1,'Userdata');
n1=get(handles.ed3,'String');
n2=get(handles.ed4,'String');
in1=str2num(n1);
in2=str2num(n2);
Z=imresize(I,[in1,in2]);
set(handles.figure1,'CurrentAxes',handles.axes2);
imshow(Z);
set(handles.axes2,'Userdata',Z);
baris=in1;
kolom=in2;
header= linspace(1,kolom,kolom);
row = linspace(1,baris,baris);
ZZ=rgb2gray(Z);
set(handles.myTable,'data',ZZ,'ColumnName',header,'RowName',row);
set(handles.myTable,'Userdata',ZZ);
h=msgbox('Sukses Load Image','Success','help');
function btnReset_Callback(hObject, eventdata, handles)
mau=questdlg(['Reset ' get(handles.figure1,'Name')''],['Anda ingin Reset Aplikasi ini?'],'Ya','Tidak','Ya');
if strcmp(mau,'Tidak')
return;
else
set(handles.ed1,'String','');
set(handles.ed2,'String','');
set(handles.ed3,'String','100');
set(handles.ed4,'String','100');
set(handles.edBrowse,'String','');
set(handles.btnRed,'Enable','off');%on
set(handles.btnGreen,'Enable','off');%on
set(handles.btnBlue,'Enable','off');%on
set(handles.btnGray,'Enable','off');%on
end
function btnGrayScale_Callback(hObject, eventdata, handles)
Z=get(handles.axes2,'Userdata');
I=rgb2gray(Z);
set(handles.figure1,'CurrentAxes',handles.axes3);
imshow(I);
set(handles.axes3,'Userdata',I);
set(handles.figure1,'CurrentAxes',handles.axes4);
imhist(I);
function btnRed_Callback(hObject, eventdata, handles)
Z=get(handles.axes2,'Userdata');
I=Z(:,:,1);
set(handles.figure1,'CurrentAxes',handles.axes3);
imshow(I);
set(handles.axes3,'Userdata',I);
set(handles.figure1,'CurrentAxes',handles.axes4);
imhist(I);
function btnGreen_Callback(hObject, eventdata, handles)
Z=get(handles.axes2,'Userdata');
I=Z(:,:,2);
set(handles.figure1,'CurrentAxes',handles.axes3);
imshow(I);
set(handles.axes3,'Userdata',I);
set(handles.figure1,'CurrentAxes',handles.axes4);
imhist(I);
function btnBlue_Callback(hObject, eventdata, handles)
Z=get(handles.axes2,'Userdata');
I=Z(:,:,3);
set(handles.figure1,'CurrentAxes',handles.axes3);
imshow(I);
set(handles.axes3,'Userdata',I);
set(handles.figure1,'CurrentAxes',handles.axes4);
imhist(I);
function btnNormalisasi_Callback(hObject, eventdata, handles)
I=get(handles.axes3,'Userdata');
bw=im2bw(I);
set(handles.figure1,'CurrentAxes',handles.axes5);
imshow(bw);
set(handles.axes5,'Userdata',bw);
set(handles.figure1,'CurrentAxes',handles.axes6);
imhist(bw);
function btnNoise_Callback(hObject, eventdata, handles)
I=get(handles.axes3,'Userdata');
J = imnoise(I,'salt & pepper',0.12);
set(handles.figure1,'CurrentAxes',handles.axes7);
imshow(J);
set(handles.axes7,'Userdata',J);
N = imnoise(I,'gaussian',0,0.2);%pilih1
K = wiener2(J,[5 5]);%pilih2
M = medfilt2(J);
set(handles.figure1,'CurrentAxes',handles.axes8);
imshow(M);
set(handles.axes8,'Userdata',M);
function btnEdge_Callback(hObject, eventdata, handles)
I=get(handles.axes8,'Userdata');
ED = edge(I,'Canny');
set(handles.figure1,'CurrentAxes',handles.axes9);
imshow(ED);
set(handles.axes9,'Userdata',ED);
set(handles.figure1,'CurrentAxes',handles.axes10);
imhist(ED);
function btnSave9_Callback(hObject, eventdata, handles)
proyek=guidata(gcbo);
mau=questdlg(['SAVE ' get(handles.figure1,'Name')''],['Anda ingin Save hasil image ED ini?'],'Ya','Tidak','Ya');
if strcmp(mau,'Tidak')
return;
else
[namafile, direktori] = uiputfile({'*.png';'*.jpg';'*.bmp';'*.*'},'Save as')
path=fullfile(direktori,namafile);
I=get(handles.axes9,'Userdata');
%save (path,I)
imwrite(I,path);
msgbox(['Process New File RTF :@ ' direktori '\' namafile ' has Succesfully to Save']);
end
function pushbutton13_Callback(hObject, eventdata, handles)
proyek=guidata(gcbo);
mau=questdlg(['SAVE ' get(handles.figure1,'Name')''],['Anda ingin Save hasil image Normalisasi ini?'],'Ya','Tidak','Ya');
if strcmp(mau,'Tidak')
return;
else
[namafile, direktori] = uiputfile({'*.png';'*.jpg';'*.bmp';'*.*'},'Save as')
path=fullfile(direktori,namafile);
I=get(handles.axes7,'Userdata');
%save (path,I)
imwrite(I,path);
msgbox(['Process New File RTF :@ ' direktori '\' namafile ' has Succesfully to Save']);
end
hasilnya...

Pengolahan Citra Digital dengan MATLAB (Dasar) - gambar 2

Itu tadi cara membuat aplikasi pengolahan citra digital menggunakan matlab. ada banyak cara untuk pengolahan citra digital seperti pada Edge detection, Noise remover ataupun Normalisasi(im2bw) . akan saya berikan beberapa contoh di Post selanjutnya.

Selamat mencoba dan perbanyak latihan.. untuk scriptnya jangan dihafal, tapi dipahami. Jika ada yang berminat mengikuti kursus Matlab, kunjungi website kami di http://lp2maray.com.

Bagikan:WhatsAppTelegramXFacebook
Source Code Login GUI MATLAB dengan MySQL
MATLABSource Code

Source Code Login GUI MATLAB dengan MySQL

Berikut adalah Source code login Matlab yang bisa digunakan sebagai referensi. pilih salah satu yang paling mudah. membuat source code login matlab menggunakan gui

29 Desember 20211 mnt

Desain GUI MATLAB form Data Pasien dengan tabel dan tombol simpan, ubah, hapus
MATLABTutorial

Koneksi dan CRUD MySQL di MATLAB

Cara menghubungkan MATLAB ke MySQL dengan Database Toolbox dan driver JDBC, lalu tambah, baca, ubah, dan hapus data, serta menampilkannya di tabel GUI.

17 Agustus 20265 mnt

Enter bukaEsc tutupHalaman pencarian