Anda di halaman 1dari 17

BAB I

1.1 Latar Belakang


Citra atau Image merupakan istilah lain dari gambar, yang merupakan informasi berbentuk visual.
“A picture is more than a thousand words” artinya “sebuah gambar bermakna lebih dari seribu kata”
maksudnya sebuah gambar akan memberikan informasi lebih banyak daripada informasi yang
disajikan dalam bentuk kata-kata. Citra atau gambar pada dua dimensi dengan bentuk segi empat
berformat horizontal dan vertical yang memiliki warna dan representasi digital.
Citra dapat dikelompokkan menjadi citra tampak dan citra tak tampak. Contoh citra tampak adalah
foto, gambar, lukisan, serta hologram (citra optis). Sedangkan citra tak tampak misalnya data gambar
dalam file (citra digital), dan citra yang direpresentasikan menjadi fungsi matematis, citra tak tampak
ini harus diubah menjadi citra tampak, misalnya dengan menampilkannya di monitor, misalnya foto
discan dengan scanner hasil dari scanner akan menjadi bentuk citra digital yang dapat diproses secara
komputasi.
Sebuah citra diubah ke bentuk digital agar dapat disimpan dalam memori komputer atau media lain.
Proses mengubah citra ke bentuk digital bisa dilakukan dengan beberapa perangkat, misalnya scanner,
digital camera, handycam dan alat-alat lain. Ketika sebuah citra diubah ke dalam bentuk digital,
bermacam-macam proses pengolahan citra dapat diperlakukan terhadap citra tersebut.
Pengolahan citra merupakan sebuah bentuk pemrosesan sebuah citra atau gambar dengan proses
numerik dari gambar tersebut, dalam hal ini yang diproses adalah masing-masing pixel atau titik dari
gambar tersebut. Salah satu teknik pemrosesan citra memanfaatkan komputer sebagai peranti lunak
memproses masing-masing pixel dari sebuah gambar. Oleh karena itu muncul istilah pemrosesan citra
secara digital atau digital image processing. Digital image processing diperkenalkan pertama kali di
New York, USA pada awal tahun 1920-an.
Proses pengambilan citra menggunakan kamera dan alat sejenis yang dapat mengambil citra
terkadang mengalami penurunan mutu, misalnya mengandung derau (noise), kurang tajamnya, terjadi
pengaburan (blur), dan sebagainya. Tentu saja citra semacam ini menjadi lebih sulit diinterpretasikan
karena informasi yang disampaikan oleh citra tersebut berkurang.
Dalam penelitian ini membahas perancangan program untuk mengolah citra menggunakan metode
konvolusi, di mana terdiri dari sharpen dan mean removal dimana perancang programn sebuah
perangkat lunak tersebut bertujuan untuk membantu melihat proses pengolahan citra digital dalam
penerapan metode konvolusi. Penelitian ini juga menggunakan metode konvolusi yang diterapkan
dalam mengolah citra digital dan mengetahui peningkatan kualitas citra tersebut.Konvolusi citra adalah
tenik untuk menghaluskan suatu citra atau memperjelas citra dengan menggantikan nilai piksel dengan
sejumlah nilai piksel yang sesuai atau berdekatan dengan piksel aslinya. Tetapi dengan adanya
konvolusi, ukuran dari citra diharapkan tetap sama, tidak ada perubahan.

1.2 Metode Penelitian


Konvolusi terdapat pada operasi pengolahan citra yang mengalikan sebuah citra dengan sebuah
mask atau kernel. Operasi yang mendasar dalam pengolahan citra adalah operasi konvolusi. Operasi
konvolusi dilakukan dengan menggeser kernel konvolusi pixel per pixel. Hasil konvolusi disimpan di
dalam matriks yang baru.
Operasi konvolusi antara citra f(x,y) dengan kernel g(x,y), yaitu f(x,y) * g(x,y) dapat diilustrasikan
sebagai berikut :
1. Tempatkan kernel pada sudut kiri atas, kemudian hitung nilai piksel pada posisi (0,0) dari kernel.
2. Geser kernel satu piksel ke kanan, kemudian hitung nilai piksel pada posisi (0,0) dari kernel.
3. Geser kernel satu piksel ke kanan, kemudian hitung nilai piksel pada posisi (0,0) dari kernel.
4. Geser kernel satu piksel ke bawah, lalu mulai lagi melakukan konvolusi dari sisi kiri citra. Setiap
kali konvolusi, geser kernel atau piksel ke kanan.
5. Jika hasil konvolusi menghasilkan nilai piksel negative, nilai tersebut dijadikan 0. Sebaliknya jika
hasil konvolusi menghasilkan nilai piksel lebih besar dari nilai keabuan maksimum (255), nilai
tersebut dijadikan ke nilai keabuan maksimum. Masalah timbul bila piksel yang dikonvolusi
adalah piksel pinggir, karena beberapa koefisien konvolusi tidak dapat diposisikan pada piksel-
piksel citra.

Perhitungan Hasil Operasi Konvolusi


Operasi konvolusi dilakukan dengan menggeser konvolusi kernel piksel per piksel. Hasil
konvolusi disimpan di dalam matriks baru.
Contoh 1. Misalkan citra f(x,y) yang berukuran 5x5 dan sebuah kernel atau mask yang berukuran
3x3 masing-masing adalah sebagai berikut:

(keterangan : tanda · menyatakan posisis (0,0) dari kernel)

Operasi konvolusi antara citra f(x,y) dengan kernel g(x,y), yaitu f(x,y) * g(x,y) dapat
diilustrasikan sebagai berikut:
(1) Tempatkan kernel pada sudut kiri atas, kemudian hitung nilai piksel pada posisi (0,0) dari
kernel.

4 4 3 5 4
6 6 5 5 2 3
5 6 6 6 2
6 7 5 5 3
3 5 2 4 4
Hasil konvolusi = 3. Nilai ini dihitung dengan cara berikut:
(0x4) + (-1x4) + (0x3) + (-1x6) + (4x6) + (-1x5) + (0x5) + (-1x6) + (0x6) = 3
(2) Geser kernel satu piksel ke kanan, kemudian hitung nilai piksel pada posisi (0,0) dari kernel:

4 4 3 5 4
6 6 5 5 2 3 0
5 6 6 6 2
6 7 5 5 3
3 5 2 4 4

Hasil konvolusi = 0. Nilai ini dihitung dengan cara berikut:


(0x4) + (-1x3) + (0x5) + (-1x6) + (4x5) + (-1x5) + (0x6) + (-1x6) + (0x6) = 0
(3) Geser kernel satu piksel ke kanan, kemudian hitung nilai piksel pada posisi (0,0) dari kernel:
4 4 3 5 4
6 6 5 5 2 3 0 2
5 6 6 6 2
6 7 5 5 3
3 5 2 4 4
Hasil konvolusi = 2. Nilai ini dihitung dengan cara berikut:
(0x3) + (-1x5) + (0x4) + (-1x5) + (4x5) + (-1x2) + (0x6) + (-1x6) + (0x2) = 2
(4) Geser kernel satu piksel ke bawah, lalu mulai lagi melakukan konvolusi dari sisi kiri citra.
Setiap kali konvolusi, geser kernel atau piksel ke kanan:
4 4 3 5 4
6 6 5 5 2 3 0 2
5 6 6 6 2 0
6 7 5 5 3
3 5 2 4 4
Hasil konvolusi = 0. Nilai ini dihitung dengan cara berikut:
(0x6) + (-1x6) + (0x5) + (-1x5) + (4x6) + (-1x6) + (0x6) + (-1x7) + (0x5) = 0
(5) Geser kernel satu piksel ke kanan, kemudian hitung nilai piksel pada posisi (0,0) dari kernel:
4 4 3 5 4
6 6 5 5 2 3 0 2
5 6 6 6 2 0 2
6 7 5 5 3
3 5 2 4 4

Hasil konvolusi = 2. Nilai ini dihitung dengan cara berikut:


(0x6) + (-1x5) + (0x5) + (-1x6) + (4x6) + (-1x6) + (0x7) + (-1x5) + (0x5) = 2
(6) Geser kernel satu piksel ke kanan, kemudian hitung nilai piksel pada posisi (0,0) dari kernel:
4 4 3 5 4
6 6 5 5 2 3 0 2
5 6 6 6 2 0 2 6
6 7 5 5 3
3 5 2 4 4

Hasil konvolusi = 6. Nilai ini dihitung dengan cara berikut:


(0x5) + (-1x5) + (0x2) + (-1x6) + (4x6) + (-1x2) + (0x5) + (-1x5) + (0x3) = 6
(7) Dengan cara yang sama, piksel-piksel pada baris ketiga di konvolusi sehingga menghasilkan:

3 0 2
0 2 6
6 0 2
Jika hasil konvolusi menghasilkan nilai piksel negatif, nilai tersebut dijadikan 0. Sebaliknya jika
hasil konvolusi menghasilkan nilai piksel lebih besar dari nilai keabuan maksimum (255), nilai tersebut
dijadikan ke nilai keabuan maksimum. Masalah timbul bila piksel yang dikonvolusi adalah piksel
pinggir, karena beberapa koefisien konvolusi tidak dapat diposisikan pada piksel-piksel citra, seperti
contoh di bawah ini:

4 4 3 5 4 ?
6 6 5 5 2 ?
5 6 6 6 2 ?
6 7 5 5 3
3 5 2 4 4

Solusi untuk masalah ini adalah: (1) piksel-piksel pinggir diabaikan, tidak dikonvolusi, jadi nilai
piksel pinggir sama dengan nilai pada citra semula; (2) duplikasi elemen citra, misalnya elemen kolom
pertama disalin ke kolom M+1 dst.; (3) elemen bertanda “?” diasumsikan bernilai 0 atau konstanta
lain, sehingga konvolusi pinggir-pinggir dapat dilakukan. Solusi dengan ketiga pendekatan di atas
mengasumsikan bagian pinggir citra lebarnya sangat kecil (hanya satu piksel) relatif dibandingkan
dengan ukuran citra, sehingga piksel-piksel pinggir tidak memperlihatkan efek yang kasat mata.
4 4 3 5 4
6 3 0 2 2
5 0 2 6 2
6 6 0 2 3
3 5 2 4 4
(keterangan : piksel-piksel pinggir (yang tidak diarsir) tidak dikonvolusi)
Dalam algoritma konvolusi citra N x M dengan mask atau kernel yang berukuran 3 x 3 piksel yang
dikonvolusi adalah elemen (i,j). Delapan buah piksel yang bertetangga dengan piksel (i,j)

i-1,j-1 i-1,j i-1,j+1


i,j-1 i,j i,j+1
i+1,j-1 i+1,j i+1,j+1
(keterangan : delapan piksel ayng bertetangga dengan piksel (i,j))
Dapat dilihat bahwa operasi konvolusi merupakan komputasi pada area lokal, karena komputasi
untuk suatu piksel pada citra keluaran melibatkan piksel-piksel tetangga pada citra masukannya.

1.3 Rumusan Masalah


Adapun beberapa rumusan masalah sebagai berikut:
1. Bagaimana konsep dasar metode konvolusi dalam pengolahan citra?
2. Bagaimana penerapan metode konvolusi dalam pengolahan citra seperti sharpen dan mean
removal?
3. Bagaimana pengaruh parameter konvolusi terhadap hasil pengolahan citra?

1.4 Tujuan
Berikut tujuan dari makalah ini adalah sebagai berikut:
1. Memahami konsep dasar dari metode konvolusi dalam pengolahan citra, termasuk prinsip-prinsip
matematisnya.
2. Dapat mendeskripsikan bagaimana metode konvolusi diterapkan dalam pengolahan citra seperti
sharpen dan mean removal.
3. Dapat melakukan percobaan untuk mengilustrasikan bagaimana parameter kovolusi
mempengaruhi hasil pengolahan citra.

1.5 Batasan Masalah


Dalam penelitian ini yang menjadi titik permasalahan yaitu bagaimana cara membangun sebuah
aplikasi pengolahan citra dengan menerapkan metode konvolusi didalamnya yang meliputi sharpen
dan mean removal. Dibutuhkan batasan masalah dalam menfokuskan penelitian ini yaitu :
1. Aplikasi yang dirancang hanya membahas pengolahan citra metode konvolusi.
2. Metode Konvolusi meliputi teknik Sharpen dan Mean Removal.
3. Aplikasi dirancang menggunakan bahasa pemrograman Matlab.
4. Hasil dari Pengolahan citra disimpan dalam bentuk format ekstensi file PNG.
BAB II

2.1 Tinjauan Pustaka


Penelitian terdahulu merupakan penelitian yang berkaitan dan relevan dengan penelitian yang
akan dilakukan. Berikut beberapa hasil yang relevan sebagai tinjauan peneliti.

No Uraian Peneliti
Wikaria Gazali, dkk Dina Dwi Afifah, dkk Rustia Eka Pratiwi, dkk
1 Universitas Binus University Universitas Islam Sekolah Tinggi Teknik
Bandung Harapan Medan
2 Tahun 2012 2022 2013
3 Judul Penerapan Metode Teknik Konvolusi Aplikasi Pengolahan
Konvolusi dalam pada Deep Learning Citra Dengan Teknik
Pengolahan Citra untuk Image Metode Konvolusi
Digital Processing
4 Metode Kovolusi Konvolusi Konvolusi
5 Hasil Penelitian Pengolahan citra Pengolahan operasi Pengolahan citra
dengan menggunakan konvolusi pada citra dengan menggunakan
konvolusi smooth, digital dengan konvolusi gaussian
gaussian blur, menggunakan blur, sharpen, mean
sharpen, mean perhitungan matriks. removal dan emboss.
removal dan emboss.
6 Kesimpulan Kesimpulan dari Konvolusi kernel Kesimpulan dari
penelitian ini adalah yang digunakan penelitian ini adalah
metode konvolusi berupa matriks 3 × 3 aplikasi yang dirancang
dapat digunakan dan 2 × 2, maka memungkinkan untuk
dalam proses pengolahan citra yang mengkombinasikan
pengolahan citra dilakukan efek gaussian blur,
seperti penghalusan memberikan efek mean removal,
citra (smooth), kecil namun masih penajaman citra
Gaussian blur, terlihat perbedaan (sharpen) dan emboss
sharpen, mean antara citra asli sehingga terjadi
removal, emboss dengan citra yang perubahan pada image
(memberi efek timbul sudah diolah. Proses originalnya.
pada citra), dan edge awal untuk konvolusi
detection pada citra adalah
(pendeteksian tepi mengubahnya
pada citra). menjadi matriks citra
dengan derajat
keabuan (0 – 255)
yang setiap titiknya
memiliki nilai lalu
dikalikan dengan
matriks kernel.
BAB III

3.1 Diagram Blok


Berikut adalah diagram blok yang digunakan pada pemrosesan gambar menggunakan konvolusi.
Dapat ditunjukkan pada gambar dibawah ini.
Pengguna Sistem

Tampilan menu
utama

Input gambar

Pemilihan proses
konvolusi
(sharpen/mean
removal)

Save Simpan gambar

Gambar berhasil
disimpan

3.2 Flowchart
Algoritma adalah urutan langkah-langkah logis penyelesaian masalahyang disusun secara
sistematis dan logis. Kata logis merupakan kata kunci dalam algoritma. Langkah-langkah dalam
algoritma harus logis dan harus dapat ditetukan bernilai salah atau benar Adapun keseluruhan langkah-
langkah pengambilan citra sampai dengan proses dapat digambarkan seperti flowchart dibawah ini :
START

Buka file image

Tampilkan image kedalam objek picture

Lakukan proses konvolusi pada image


(sharpen/mean removal)

Tampilan hasil konvolusi

Simpan image hasil konvolusi

END
3.3 Perancangan Sistem
Perancangan sistem pada pemrosesan citra dengan metode konvolusi sharpen dan mean removal
melibatkan langkah-langkah seperti:
1. Input Citra: Pilih citra yang akan diproses. Pastikan citra memiliki resolusi yang memadai dan
sesuai dengan kebutuhan.
2. Preprocessing: Lakukan pra-pemrosesan jika diperlukan, seperti normalisasi atau penyesuaian
kontras, untuk mempersiapkan citra sebelum masuk ke tahap konvolusi.
3. Konvolusi Sharpen: Terapkan filter konvolusi yang dirancang khusus untuk meningkatkan
kejelasan dan detail citra. Misalnya, filter sharpen seperti kernel sharpening dapat digunakan untuk
meningkatkan tepi dan detail objek.
4. Konvolusi Mean Removal: Implementasikan filter konvolusi mean removal untuk menambah
ketajaman citra. Filter ini dapat menghasilkan citra yang lebih tajamdan noise yang lebih jelas.
5. Output Citra: Tampilkan atau simpan hasil citra setelah melewati kedua langkah konvolusi.
Pastikan untuk memeriksa apakah hasil memenuhi tujuan pemrosesan citra.
6. Optimasi dan Evaluasi: Sesuaikan parameter konvolusi, seperti ukuran kernel, sesuai kebutuhan.
Evaluasi hasilnya untuk memastikan bahwa metode ini efektif dalam pemrosesan citra dan
menambah noise.
7. Iterasi dan Peningkatan: Jika diperlukan, ulangi proses dengan menyesuaikan metode atau
parameter untuk mencapai hasil yang optimal.
BAB IV

4.1 Implementasi
Implementasi untuk simulator pemrosesan citra yang sudah dibuat agar dapat bekerja
sebagaimana yang diharapkan, agar simulator pemrosesan citra dapat diketahui dengan baik cara
kerjanya. Maka dibuatlah cara penggunaan simulator berikut ini.
a. Tampilan awal simulator
Pada saat pertama kali membuka simulator, simulator akan menampilkan
antarmuka yang dapat dilihat pada gambar dibawah.

Pada gambar diatas merupakan tampilan awal pada saat pertamakali membuka
aplikasi. Pada tampilan awal tersebut terdapat 2 fitur konvolusi yaitu Sharpen dan
Mean Removal serta fitur tambahan seperti Open image dan Save image.
b. Melakukan input gambar
Untuk melakukan input gambar kedalam simulator dapat dilakukan dengan cara
menekan tombol “Open Image” seperti pada gambar dibawah.

Langkah pertama dalam menggunakan simulator pemrosesan citra yaitu dengan


menekan tombol Open Image untuk menginput gambar awal yang ditunjukkan pada
gambar diatas.
c. Memilih gambar
Pengguna dapat memilih gambar yang diinginkan untuk dimasukkan ke dalam
simulator seperti pada gambar dibawah ini.

Langkah kedua yaitu memilih gambar yang di inginkan untuk dimasukkan


kedalam simulator pemrosesan citra seperti gambar diatas.
d. Hasil input gambar
Gambar yang berhasil di input dapat dilihat dibawah ini.

Pada gambar diatas adalah gambar yang telah dipilih oleh pengguna. Hasil inputan
gambar tersebut akan ditampilkan pada Original Image.
e. Hasil output setelah dikonvolusi
Pengguna dapat memilih fitur konvolusi dengan pilihan sharpen atau mean
removal. Output dapat ditampikan pada bagian Modified Image. Berikut adalah
gambar konvolusi dari sharpen.
Setelah dilakukan pemilihan konvolusi sharpen. Dapat langsung memilih
konvolusi mean removal seperti gambar dibawah.

Setelah pemilihan selesai, maka output akan ditampilkan pada Modified Image
yang berada pada fitur konvolusi seperti diatas.
f. Menyimpan hasil output konvolusi
Hasil output dapat disimpan dengan menekan tombol Save Image. Kemudian
dapat memilih langsung lokasi penyimpanan dari hasil konvolusi dan memberikan
nama pada file hasil konvolusi tersebut.

Gambar diatas merupakan contoh hasil konvolusi mean removal yang disimpan
pada file. Gambar yang telah disimpan berbentuk file PNG.
4.2 Pengujian
Pengujian simulator pemrosesan citra dilakukan dengan menggunakan data sebanyak 5
sampel gambar oleh penulis. Pengujian yang dilakukan yaitu pengujian metode konvolusi sharpen
dan mean removal.
No Gambar Sharpen Mean Removal
1 Noise bertambah Noise bertambah

2 Noise bertambah Noise bertambah

3 Noise bertambah Noise bertambah

4 Noise bertambah Noise bertambah

5 Noise bertambah Noise bertambah

Pada table diatas merupakan hasil dari pengujian metode konvolusi. Dalam hasil pengujian
tersebut dapat disimpulkan bahwa setiap fitur dapat bekerja dengan baik jika digunakan pada jenis
noise yang tepat. Setiap fitur konvolusi juga dapat memperburuk kualitas dari gambar tersebut
terutama pada konvolusi mean removal.
BAB V

5.1 Kesimpulan
Dari hasil implementasi dan pengujian diatas, dapat disimpulkan bahwa:
1. Metode konvolusi dapat digunakan dalam proses pengolahan citra seperti: sharpen dan mean
removal.
2. Konvolusi kernel yang digunakan berbentuk matriks 3x3, maka pengolahan citra yang
dilakukan memberi efek kecil namun masih terlihat perbedaan antara citra asli dengan citra
yang sudah diolah. Untuk mendapatkan hasil yang diinginkan pengguna dapat melakukan
proses berulang kali.
3. Pada konvolusi sharpen gambar hasil konvolusi hamper sama dengan gambar awal atau input.
Akan tetapi jika diperhatikan hasilnya sedikit lebih ditanjamkan.
4. Fungsi konvolusi mean removal sama dengan konvolusi sharpen yaitu melakukan penajaman
citra, tetapi konvolusi mean removal memberi ketajaman lebih pada citra. Hal tersebut
dikarenakan oleh kernel yang digunakan oleh konvolusi sharpen hanya bekerja pada garis
horizontal dan vertikal saja, sedangkan konvolusi mean removal juga bekerja pada garis
diagonal.
5. Berdasarkan data-data yang ada pengolahan citra mengunakan metode konvolusi sharpen dan
mean removal semua noise bertambah pada gambar yang telah diuji coba.
6. Aplikasi pengolahan citra yang telah dibuat dapat diterapkan untuk kebutuhan studio foto, di
mana penggunaannya lebih mudah daripada menggunakan software yang ada yang dilakukan
secara manual atau menggunakan software khusus yang memerlukan keahlian khusus.

5.2 Saran
Saran yang dapat penulis berikan untuk pengembangan implementasi aplikasi yang
telah dibuat untuk kedepannya yaitu dalam penggembangan aplikasi dapat dilakukan
penambahan fitur konvolusi atau metode konvolusi lainnya. Agar aplikasi ini tidak
berfokus pada metode konvolusi sharpen dan mean removal saja. Dapat menambahkan
fitur konvolusi seperti gaussian blur, smooth, median filter ataupun lain sebagainya.
DAFTAR PUSTAKA

Gazali, Wikaria, Soeparno, Haryono & Ohliati Jenny. 2012. Penerapan Metode Konvolusi
Dalam Pengolahan Citra Digital. Jurnal Mat12:2. Binus University.
Afifah, Dina Dwi, dkk. 2022. Teknik Konvolusi pada Deep Learning untuk Image
Processing. Vol. 2 No. 2 (2022), Hal: 103-112. Universitas Islam Bandung.
Pratiwi, Rustia Eka, dkk. 2013. APlikasi Pengolahan Citra Dengan Teknik Metode
Konvolusi. Sekolah Tinggi Teknik Harapan Medan.
Wijaya, Alvin. 2021. Simulator Pemrosesan Citra Menggunkan Metode Konvolusi Untuk
Gambar Yang Memiliki Noise Pada Desain Spanduk. Sekolah Tinggi Manajemen Informatika
Dan Kompuer Palangkaraya.
LAMPIRAN

classdef nyobaa < matlab.apps.AppBase


% Properties that correspond to app components
properties (Access = private)
UIFigure matlab.ui.Figure
UIAxes matlab.ui.control.UIAxes
SelectImageButton matlab.ui.control.Button
SharpenButton matlab.ui.control.Button
MeanRemovalButton matlab.ui.control.Button
OpenImageButton matlab.ui.control.Button
SaveImageButton matlab.ui.control.Button
Property
Img
end

% App creation and deletion


methods (Access = private)

% Create UIFigure and components


function createComponents(app)
% Create UIFigure and specify app name
app.UIFigure = uifigure('Name', 'Image Processing App', 'Position', [100,
100, 800, 600]);

% Create UIAxes
app.UIAxes = uiaxes(app.UIFigure);
title(app.UIAxes, 'Image Display')
xlabel(app.UIAxes, 'X')
ylabel(app.UIAxes, 'Y')
app.UIAxes.Position = [50, 200, 600, 300];

% Create SelectImageButton
app.SelectImageButton = uibutton(app.UIFigure, 'push');
app.SelectImageButton.ButtonPushedFcn = createCallbackFcn(app,
@SelectImageButtonPushed, true);
app.SelectImageButton.Position = [50, 50, 100, 22];
app.SelectImageButton.Text = 'Open Image';

% Create SharpenButton
app.SharpenButton = uibutton(app.UIFigure, 'push');
app.SharpenButton.ButtonPushedFcn = createCallbackFcn(app,
@SharpenButtonPushed, true);
app.SharpenButton.Position = [180, 50, 100, 22];
app.SharpenButton.Text = 'Sharpen';

% Create MeanRemovalButton
app.MeanRemovalButton = uibutton(app.UIFigure, 'push');
app.MeanRemovalButton.ButtonPushedFcn = createCallbackFcn(app,
@MeanRemovalButtonPushed, true);
app.MeanRemovalButton.Position = [310, 50, 140, 22];
app.MeanRemovalButton.Text = 'Mean Removal';
% Create OpenImageButton
app.OpenImageButton = uibutton(app.UIFigure, 'push');
app.OpenImageButton.ButtonPushedFcn = createCallbackFcn(app,
@OpenImageButtonPushed, true);
app.OpenImageButton.Position = [50, 120, 120, 22];
app.OpenImageButton.Text = 'Open Image';

% Create SaveImageButton
app.SaveImageButton = uibutton(app.UIFigure, 'push');
app.SaveImageButton.ButtonPushedFcn = createCallbackFcn(app,
@SaveImageButtonPushed, true);
app.SaveImageButton.Position = [180, 120, 120, 22];
app.SaveImageButton.Text = 'Save Image';
end
end

% Callbacks that handle component events


methods (Access = private)

% Button pushed function: SelectImageButton


function SelectImageButtonPushed(app, event)
[fileName, filePath] = uigetfile({'*.jpg;*.png;*.bmp', 'Image Files
(*.jpg, *.png, *.bmp)'}, 'Select an Image');
if fileName ~= 0
app.Property = imread(fullfile(filePath, fileName));
imshow(app.Property, 'Parent', app.UIAxes);
end
end

% Button pushed function: SharpenButton


function SharpenButtonPushed(app, event)
if ~isempty(app.Property)
% Perform sharpening operation
app.Img = imsharpen(app.Property);
imshow(app.Img, 'Parent', app.UIAxes2);
end
end

% Button pushed function: MeanRemovalButton


function MeanRemovalButtonPushed(app, event)
if ~isempty(app.Property)
% Perform mean removal operation
app.Img = imsharpen(app.ImageData,"Amount",5);
imshow(app.Img, 'Parent', app.UIAxes2);
end
end

% Button pushed function: OpenImageButton


function OpenImageButtonPushed(app, event)
app.SelectImageButtonPushed();
end

% Button pushed function: SaveImageButton


function SaveImageButtonPushed(app, event)
if ~isempty(app.Img)
[fileName, filePath] = uiputfile({'*.png', 'PNG Files (*.png)';
'*.jpg', 'JPEG Files (*.jpg)'}, 'Save Image');
if fileName ~= 0
imwrite(app.Img, fullfile(filePath, fileName));
end
end
end

% Function to apply sharpening


function sharpenedImage = applySharpening(originalImage)
% Define sharpening kernel
kernel = [0, -1, 0; -1, 5, -1; 0, -1, 0];

% Apply convolution to perform sharpening


sharpenedImage = convn(originalImage, kernel, "same");
end

% Function to apply mean removal


function meanRemovedImage = applyMeanRemoval(originalImage)
%Define mean removal kernel
kernel2 = [-1, -1, -1; -1, 9, -1; -1, -1, -1];

% Apply convolution to perform mean removal


meanRemovedImage = convn(originalImage, kernel2, "same");
end
end

% App initialization and construction


methods (Access = private)

% Construct app
function app = ImageProcessingApp
% Create UIFigure and components
createComponents(app);

% Register the app with App Designer


registerApp(app, app.UIFigure);

% Execute the startup function


runStartupFcn(app, @startupFcn);

if nargout == 0
clear app;
end
end

% Code that executes after component creation


function startupFcn(app)
% Placeholder startup code
end
end
end

Anda mungkin juga menyukai