Kamis, 26 Mei 2016

Intensity Adjustment

Intensity adjusment bekerja dengan cara melakukan pemetaan linear terhadap nilai intensitas pada histogram awal menjadi nilai intensitas pada histogram yang baru.
Perintah umum untuk melakukan pemetaan linear tersebut adalah:
J = imadjust(I,[low_in,high_in),[low_out,high_out])
dimana :
low_in merupakan nilai intensitas yang akan dipetakan sebagai low_out
high_in merupakan nilai intensitas yang akan dipetakan sebagai high_out

Contoh:
Citra rice.tif di samping memiliki nilai kekontrasan yang rendah. Berdasarkan histogramnya, dapat diketahui bahwa citra ini tidak memiliki piksel dengan intensitas di bawah 40 dan di atas 225. Untuk memperbaikinya, kita dapat memetakan histogram secara linear sehingga diperoleh sebuah citra baru yang memiliki rentang histogram antara 0 hingga 255.
Perintah untuk melakukan intensity adjustment:

I=imread('rice.tif');
J=imadjust(I,[0.15 0.9],[0 1]);
figure,imshow(I);
figure,imhist(I);
figure,imshow(J);
figure,imhist(J);



Sumber : http://nagatatech.blogspot.co.id/2013/01/pengolahan-citra.html

imcontrast

Adjust Contrast tool

Syntax

imcontrast
imcontrast(h)
hfigure = imcontrast(...)

Deskripsi

imcontrast menciptakan Sesuaikan alat Contrast di angka terpisah yang berhubungan dengan gambar grayscale pada gambar saat ini, yang disebut target image. Alat Sesuaikan Kontras adalah kontras dan penyesuaian kecerahan alat interaktif, yang ditunjukkan pada gambar berikut, yang dapat Anda gunakan untuk menyesuaikan pemetaan hitam-to-putih yang digunakan untuk menampilkan gambar. Bila Anda menggunakan alat ini, imcontrast menyesuaikan kontras gambar yang ditampilkan dengan memodifikasi sumbu CLIM properti. Untuk mengubah nilai piksel yang sebenarnya dalam gambar target, klik Adjust Databutton. (Tombol ini tidak tersedia sampai Anda membuat perubahan ke kontras gambar.) Untuk informasi lebih lanjut tentang menggunakan alat.
    Catatan Sesuaikan alat Contrast dapat menangani gambar grayscale kelas ganda dan tunggal dengan data berkisar di luar jangkauan tampilan default, yang merupakan [0 1]. Untuk gambar ini, imcontrastsets batas histogram agar sesuai dengan berbagai data gambar, dengan bantalan pada batas atas dan bawah.
imcontrast (h) menciptakan alat Contrast Adjust terkait dengan gambar yang ditentukan oleh pegangan h. h bisa menjadi pegangan untuk sosok, kapak, uipanel, atau objek gambar. Jika h adalah kapak atau tokoh menangani, imcontrast menggunakan gambar pertama dikembalikan oleh findobj (H, 'Jenis', 'image').

hfigure = imcontrast (...) kembali pegangan untuk Mengatur Kontras angka alat.


Examples

imshow('pout.tif')
imcontrast(gca)

Sumber : http://www.mathworks.com/help/images/ref/imcontrast.html

imsharpen

Sharpen image using unsharp masking

Syntax

  • B = imsharpen(A)
  • B = imsharpen(A,Name,Value,...)

Description


B = imsharpen(A) returns an enhanced version of the grayscale or truecolor (RGB) input image A, where the image features, such as edges, have been sharpened using the unsharp masking method.

B = imsharpen(A,Name,Value,...) sharpens the image using name-value pairs to control aspects of unsharp masking. Parameter names can be abbreviated.

Examples



Sharpen Image


Read an image into the workspace and display it.
a = imread('hestain.png');
imshow(a)
title('Original Image');
Sharpen the image using the imsharpen function and display it.
b = imsharpen(a);
figure, imshow(b)
title('Sharpened Image');



Sumber : http://www.mathworks.com/help/images/ref/imsharpen.html

histeq

Meningkatkan kontras menggunakan histogram ekualisasi
J = histeq(I,hgram)
J = histeq(I,n)
[J, T] = histeq(I)
[gpuarrayJ, gpuarrayT] = histeq(gpuarrayI,___)
newmap = histeq(X, map, hgram)
newmap = histeq(X, map)
[newmap, T] = histeq(X,___)

Deskripsi
J = histeq (I, hgram) mengubah citra intensitas saya sehingga histogram dari intensitas keluaran ImageJ dengan panjang (hgram) sampah sekitar cocok hgram. Vektor hgram harus berisi jumlah integer untuk sampah sama spasi dengan nilai intensitas dalam kisaran yang tepat: [0, 1] untuk gambar kelas ganda, [0, 255] untuk gambar kelas uint8, dan [0, 65535] untuk gambar kelas uint16. histeq otomatis scaleshgram sehingga jumlah (hgram) = prod (size (I)). Histogram dari J akan lebih cocok hgram whenlength (hgram) jauh lebih kecil dari jumlah tingkat diskrit dalam I.

J = histeq (I, n) mengubah intensitas gambar saya, kembali di J gambar intensitas dengan n tingkat abu-abu diskrit. Sejumlah kurang lebih sama dari piksel dipetakan ke masing-masing tingkat n di J, sehingga histogram dari J adalah sekitar datar. (The histogram dari J adalah datar ketika n jauh lebih kecil dari jumlah tingkat diskrit INI.) Nilai default untuk n adalah 64. 
[J, T] = histeq (I) mengembalikan transformasi grayscale yang memetakan tingkat abu-abu pada gambar saya menjadi abu-abu tingkat di J. 
[GpuarrayJ, gpuarrayT] = histeq (gpuarrayI, ___) melakukan pemerataan histogram pada GPU. Input gambar dan output gambar yang gpuArrays. sintaks ini membutuhkan Paralel Computing Toolbox ™. 
newmap = histeq (X, peta, hgram) mengubah peta warna yang terkait dengan diindeks gambar X sehingga histogram komponen abu-abu dari diindeks gambar (X, newmap) sekitar cocok hgram. Fungsi Thehisteq mengembalikan colormap berubah di newmap. panjang (hgram) harus Assize sama (peta, 1). 
newmap = histeq (X, peta) mengubah nilai-nilai dalam colormap sehingga histogram komponen abu-abu dari diindeks gambar X adalah sekitar datar. Ia mengembalikan colormap berubah di newmap. 
[Newmap, T] = histeq (X, ___) mengembalikan T transformasi grayscale yang memetakan komponen abu-abu ofmap untuk komponen abu-abu newmap.

Saya dapat dari uint8 kelas, uint16, int16, tunggal, atau ganda. Output gambar J memiliki kelas yang sama seperti I. opsional keluaran T selalu kelas ganda.
gpuarrayI adalah gpuArray dari uint8 kelas, uint16, int16, tunggal, atau ganda. Output gambar gpuarrayJhas kelas yang sama seperti gpuarrayI. Opsional keluaran gpuarrayT selalu gpuArray kelas ganda.
X dapat dari kelas uint8, tunggal, atau ganda. Output colormap newmap selalu kelas ganda.


contoh

Meningkatkan kontras gambar intensitas menggunakan histogram equalization.

I = imread('tire.tif');
J = histeq(I);
imshow(I)
figure, imshow(J)
Menampilkan histogram dari gambar asli.
figure; imhist(I,64)
Membandingkannya dengan histogram dari gambar diproses.
figure; imhist(J,64)
Contoh ini melakukan pemerataan histogram yang sama pada GPU.
I = gpuArray(imread('tire.tif'));
J = histeq(I);
figure
imshow(I), figure, imshow(J)

Sumber : http://www.mathworks.com/help/images/ref/histeq.html

Rabu, 13 April 2016

Definisi Pengolahan Citra

Pengolahan Citra

Pengolahan citra adalah salah satu cabang dari ilmu informatika. Pengolahan citra berkutat pada usaha untuk melakukan transformasi suatcitra/gambar menjadi citra lain dengan menggunakan teknik tertentu.

Definisi dasar

Berikut ini adalah definisi dasar yang dipergunakan dalam pengolahan citra :

Citra

Citra adalah gambar dua dimensi yang dihasilkan dari gambar analog dua dimensi yang kontinu menjadi gambar diskrit melalui proses sampling.
Gambar analog dibagi menjadi N baris dan M kolom sehingga menjadi gambar diskrit. Persilangan antara baris dan kolom tertentu disebut dengan piksel. Contohnya adalah gambar/titik diskrit pada baris n dan kolom m disebut dengan piksel [n,m].

Samplings

Sampling adalah proses untuk menentukan warna pada piksel tertentu pada citra dari sebuah gambar yang kontinu. Pada proses sampling biasanya dicari warna rata-rata dari gambar analog yang kemudian dibulatkan. Proses sampling sering juga disebut proses digitisasi. Sampling merupakan bagian dari metodologi statistika.

Kuantisasi

Ada kalanya, dalam proses sampling, warna rata-rata yang didapat di relasikan ke level warna tertentu. Contohnya apabila dalam citra hanya terdapat 16 tingkatan warna abu-abu, maka nilai rata-rata yang didapat dari proses sampling harus diasosiasikan ke 16 tingkatan tersebut. Proses mengasosiasikan warna rata-rata dengan tingkatan warna tertentu disebut dengan kuantisasi.

Derau

Derau (Noise) adalah gambar atau piksel yang mengganggu kualitas citra. Derau dapat disebabkan oleh gangguan fisis(optik) pada alat akuisisi maupun secara disengaja akibat proses pengolahan yang tidak sesuai. Contohnya adalah bintik hitam atau putih yang muncul secara acak yang tidak diinginkan di dalam citra. bintik acak ini disebut dengan derau salt & pepper.
Banyak metode yang ada dalam pengolahan citra bertujuan untuk mengurangi atau menghilangkan noise.

Operasi pengolahan Citra

Operasi yang dilakukan untuk mentransformasikan suatu citra menjadi citra lain dapat dikategorikan berdasarkan tujuan transformasi maupun cakupan operasi yang dilakukan terhadap citra.
Berdasarkan tujuan transformasi operasi pengolahan citra dikategorikan sebagai berikut :
  • Peningkatan Kualitas Citra (Image Enhancement)
Operasi peningkatan kualitas citra bertujuan untuk meningkatkan fitur tertentu pada citra.
  • Pemulihan Citra (Image Restoration)
Operasi pemulihan citra bertujuan untuk mengembalikan kondisi citra pada kondisi yang diketahui sebelumnya akibat adanya pengganggu yang menyebabkan penurunan kualitas citra.
Berdasarkan cakupan operasi yang dilakukan terhadap citra, Operasi pengolahan citra dikategorikan sebagai berikut :
  • Operasi titik, yaitu operasi yang dilakukan terhadap setiap piksel pada citra yang keluarannya hanya ditentukan oleh nilai piksel itu sendiri.
  • Operasi area, yaitu operasi yang dilakukan terhadap setiap piksel pada citra yang keluarannya dipengaruhi oleh piksel tersebut dan piksel lainnya dalam suatu daerah tertentu. Salah satu contoh dari operasi berbasis area adalah operasi ketetanggaan yang nilai keluaran dari operasi tersebut ditentukan oleh nilai piksel-piksel yang memiliki hubungan ketetanggaan dengan piksel yang sedang diolah.
  • Operasi global, yaitu operasi yang dilakukan tehadap setiap piksel pada citra yang keluarannya ditentukan oleh keseluruhan piksel yang membentuk citra.

Alat bantu matematika

Alat bantu matematika yang sering dipakai dalam pengolahan citra adalah sebagai berikut :
  • Statistik inheren
  • Konvolusi
  • Transformasi Fourier
  • Representasi Kontur

Algoritma

Berikut ini adalah algorima yang biasa dipakai dalam pengolahan citra. Algoritma dibawah ini dibagi menjadi beberapa kategori berdasarkan pendekatan yang dilakukan dalam memanipulasi citra asli.

Algoritma berbasis histogram

Algoritma kategori ini menggunakan histogram dari citra awal untuk menghasilkan citra baru.
  • Peregangan Kontras
  • Ekualisasi histogram
  • Filter Minimum
  • Filter Median
  • Filter Maksimum

Algoritma berbasis matematika

Algoritma pada kategori ini menggunakan piksel/beberapa piksel untuk menjadi masukan suatu fungsi matematik untuk menentukan nilai piksel pada citra hasil.
  • Biner
Operasi ini berbasis operasi boolean (AND,OR,NOT) untuk memanipulasi citra
  • Aritmetika
Operasi ini berbasis operasi Aritmatika ( penjumlahan, pengurangan, perkalian dan pembagian citra)
  • Geometri

Sumber :https://id.wikipedia.org/wiki/Pengolahan_citra

Cara Membuka File di Matlab

Untuk menampilkan gambar ada beberapa cara yang dapat dilakukan, namun fungsi untuk menampilkan gambar dapat dilakukan dengan menggunakan fungsi imshow('nama file'). Yang pertama kita dapat menampilkan citra dengan menggunakan figure, contoh penggunaannya sbb : 
1.  Buka aplikasi matlab, kemudian klik New M-File



2. Kemudian ketikkan perintah berikut di dalam M-File editor tersebut
B = imread ('pepaya.jpg');
figure, imshow (B);
3. Setelah source code di ketik, sekarang jalankan program tsb dengan mengklik tombol run pada toolbar



4. Maka output yang akan dihasilkan akan sperti di bawah ini :

Sumber : http://mengajar-bersama.blogspot.co.id/2012/11/cara-menampilkan-gambar-di-matlab.html

Pengertian Matlab

Bahasa Komputasi Teknis

Jutaan insinyur dan ilmuwan di seluruh dunia menggunakan MATLAB untuk menganalisis dan merancang sistem dan produk mengubah dunia kita. MATLAB adalah dalam sistem mobil keamanan aktif, pesawat ruang angkasa antarplanet, perangkat pemantauan kesehatan, jaringan listrik pintar, dan jaringan seluler LTE. Hal ini digunakan untuk pembelajaran mesin, pemrosesan sinyal, pengolahan citra, visi komputer, komunikasi, keuangan komputasi, desain kontrol, robotika, dan banyak lagi.

Matematika. Graphics. Pemrograman.

Platform MATLAB dioptimalkan untuk memecahkan teknik dan masalah ilmiah. Bahasa MATLAB berbasis matriks cara alami yang paling di dunia untuk mengekspresikan matematika komputasi. Built-in grafis membuatnya mudah untuk memvisualisasikan dan mendapatkan wawasan dari data. Sebuah perpustakaan besar pra dibangun kotak alat memungkinkan Anda memulai segera dengan algoritma penting untuk domain Anda. Lingkungan desktop mengundang eksperimen, eksplorasi, dan penemuan. MATLAB alat-alat dan kemampuan semua diuji secara ketat dan dirancang untuk bekerja bersama-sama.

Skala. Mengintegrasikan. Menyebarkan.

MATLAB membantu Anda mengambil ide-ide Anda di luar desktop. Anda dapat menjalankan analisis Anda pada set data yang lebih besar dan skala hingga cluster dan awan. Kode MATLAB dapat diintegrasikan dengan bahasa lain, memungkinkan Anda untuk menggunakan algoritma dan aplikasi dalam sistem web, perusahaan, dan produksi.
Temukan apa yang dapat Anda lakukan dengan MATLAB.

Sumber : http://www.mathworks.com/products/matlab/

Konversi RGB ke Grayscale dan Biner di Matlab

Cara konversi citra RGB ke Grayscale, Biner, dan HSV dengan C++ dan library openCV. Langsung saja kita buat, silahkan ikuti langkah-langkah berikut ini:
1.  Buka CodeBlocks, klik File –> New –> Project –> pilih console application 
2.  Copy-kan file gambar ke dalam folder project yang dibuat tadi
3.  Ketikkan kode program seperti di bawah ini pada main.cpp:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
#include <iostream>
#include <cv.h>
#include <highgui.h>
using namespace std;
int main()
{
IplImage *img = cvLoadImage("citra.png");
IplImage *hsv = cvCreateImage(cvGetSize(img), 8, 3);
IplImage *gray = cvCreateImage(cvGetSize(img), IPL_DEPTH_8U, 1);
IplImage *biner = cvCreateImage(cvGetSize(img), IPL_DEPTH_8U, 1);
cvCvtColor(img, hsv, CV_RGB2HSV);
cvCvtColor(img, gray, CV_RGB2GRAY);
cvThreshold(gray, biner, 100, 255, CV_THRESH_BINARY);
cvSaveImage("gray.jpg", gray);
cvSaveImage("hsv.jpg", hsv);
cvSaveImage("biner.jpg", biner);
cvShowImage("Citra", img);
cvShowImage("Grayscale", gray);
cvShowImage("HSV", hsv);
cvShowImage("Biner", biner);
cvWaitKey();
return 0;
}

4.  Run dan lihat hasilnya, Screenshoot tampilannya seperti di bawah ini:


Hasil running program www.etnik-tas.com
Hasil running program

Sumber : https://kholisilkom45.wordpress.com/2013/09/17/konversi-citra-rgb-ke-grayscale-biner-dan-hsv-serta-menyimpan-gambar-hasil-konversi/