Langsung ke konten utama

Kode Contrast Stretching di Matlab


Buatlah filter Untuk memperbaiki citra bean pada gambar (a) dengan menggunakan fungsi T sebagaimana terlihat pada gambar (b). Dimana m1, m2 dan m3 adalah gradient. Temukan nilai m1,m2 dan m3 yang paling optimal sehingga menghasilkan gambar (c).






Jawaban :

Code Matlab:


%% PROGRAM CONTRAST STRETCHING %%

%% Hapus layar dan variabel %%
clear all;
close all;
clc;

%% Membaca gambar %%
a=imread('C:\dip\week3\figure.tif');
a=double(a);
s=size(a);

%% Mendefinisikan titik-titik %%
p1=[0,0];
p2=[97,30];
p3=[127,225];
p4=[255,255];

%% Mencari gradien garis tiap titik %%
m1=(p1(1,2)-p2(1,2))/(p1(1,1)-p2(1,1));
m2=(p2(1,2)-p3(1,2))/(p2(1,1)-p3(1,1));
m3=(p3(1,2)-p4(1,2))/(p3(1,1)-p4(1,1));

%% Mencari nilai constanta %%
c1=p1(1,2)-m1*p1(1,1);
c2=p2(1,2)-m2*p2(1,1);
c3=p3(1,2)-m3*p3(1,1);

%% Fungsi transformasi %%
t=[];
for x=0:255
 if(x<=p2(1,1))
 t=[t (m1*x+c1)];
 end
 if(x>p2(1,1) && x<=p3(1,1))
 t=[t (m2*x+c2)];
 end
 if(x>p3(1,1) && x<=p4(1,1))
 t=[t (m3*x+c3)];
 end
end

%% Mendapatkan output gambar %%
for n=1:s(1,1)
 for m=1:s(1,2)
 ot(n,m)=t(a(n,m)+1);
 end
end

%% Menampilkan grafik intensitas %%
plot(t)
grid on;
xlabel('Intensity in input image')
ylabel('Intensity in output image')
title('Piece-wise linear transformation : Contrast stretching function')

%% Menampilkan gambar perbandingan %%
figure()
subplot(1,2,1)
imshow(a/255)
title('Original Image')

subplot(1,2,2)
imshow(ot./255)

title('Contrast stretching')

Outputnya:

Nilai yang optimal adalah

  • m1 = 0.3093
  • m2 = 6.5
  • m3 = 0.2344



Komentar

Posting Komentar

Postingan populer dari blog ini

Pengenalan Design Pattern di Java

Java merupakan pemrograman yang berorientasi objek dengan interface, abstract, dan class sebagai bentuk dasar dari kode. Seorang programmer java yang ingin mencapai level expert apakah cukup dengan mengetahui prinsip OOP ( Object Oriented Programming ) ? Jawabannya tidak. Karena ilmu yang harus dipahami selanjutnya adalah Design Pattern dalam membuat kode Java. Design Pattern adalah solusi umum (konteks) terhadap masalah yang sering muncul dalam aplikasi software . Berdasarkan pengertian tersebut, design pattern terdiri dari tiga elemen dasar, yaitu: Konteks : situasi dimana pattern diterapkan (dan biasanya hal ini berulang) Masalah : tujuan atau batasan yang akan dicapai oleh konteks Solusi : desain umum dari masalah yang akan diselesaikan dan ditentukan batasannya

Instalasi Dataiku DSS (Data Science Studio) Di CENTOS 6.6

Dataiku DSS (Data Science Studio) adalah software untuk mengolah dan menggabungkan Big Data dari data mentah (raw) menjadi data yang bisa digunakan. Aplikasi hanya dapat berjalan di server sebagai berikut: Server dengan tipe 64 bit (x86-64) Ubuntu Server, versions 12.04 LTS and 14.04 LTS Debian, version 7 CentOS versions 6.4 and later (tested up to version 7.0) Red Hat Entreprise Linux Server, versions 6.4 and later (tested up to version 7.0) Amazon Linux, version 2013.09 and later (tested up to version 2014.09

Import File CSV to PostgreSQL

Database postgresql adalah software database yang open source (gratis), sehingga pencinta database tidak memerlukan uang untuk membayar lisensi (seperti oracle dll.), kecuali uang ke warnet buat download softwarenya ( klik disini ). Postgresql memang mirip dengan database yang lain seperti mysql, oracle, h2, myDB, dan lain-lain. Sehingga user tidak perlu repot untuk menghafalkan banyak query (perintah pemograman dalam database). Pada artikel ini penulis akan menyajikan salah satu fitur dalam database untuk meng- import isi file CSV ke database. File CSV merupakan kumpulan data dalam tabel (excel dll) dengan delimiter (pembatas) berupa karakter. Contoh : Halaman;kebun;kita;bagus;sekali Pada contoh di atas, data csv dibatasi oleh karakter semicolon (;). Sehingga dalam tabel di excel, tiap kolom tabel akan dibatasi oleh delimiter yang kita inginkan. Sekarang kita masuk ke bagian query dalam postgresql. Dalam meng- import isi file CSV ke database di postgresql, hal yang har