- 1. Pengolahan Citra dengan menggunakan MATLAB Editor Window
- 2. Pengolahan Gambar dengan MATLAB GUI
- Membuat Antarmuka Pengguna Grafis MATLAB untuk Pemrosesan Gambar
- MATLAB GUI Code untuk Pemrosesan Gambar
- Jalankan kode MATLAB GUI untuk Pemrosesan Gambar
Bayangkan mengarahkan kamera Anda ke beberapa objek dan kamera memberi tahu Anda nama objek itu, ya, Google Lens di ponsel pintar Android melakukan hal yang sama menggunakan Pemrosesan Gambar. Ini memberi komputer visi untuk mendeteksi dan mengenali hal-hal dan mengambil tindakan yang sesuai. Pemrosesan gambar memiliki banyak aplikasi seperti Deteksi & pengenalan wajah, kesan ibu jari, augmented reality, OCR, pemindaian Barcode, dan banyak lagi. Ada banyak perangkat lunak yang tersedia untuk pemrosesan gambar, di antaranya MATLAB adalah yang paling cocok untuk memulai.
MATLAB dapat melakukan banyak operasi pemrosesan gambar tingkat lanjut, tetapi untuk Memulai Pemrosesan gambar di MATLAB, di sini kami akan menjelaskan beberapa operasi dasar seperti RGB ke Gray, memutar gambar, konversi biner, dll. Anda selanjutnya dapat membuat program otomatis untuk menghilangkan noise, gambar kejelasan, memfilter dengan menggunakan fungsi yang dijelaskan dalam tutorial ini.
Sebelum melangkah lebih jauh, jika Anda baru mengenal MATLAB, Anda dapat memeriksa tutorial MATLAB kami sebelumnya untuk pemahaman yang lebih baik:
- Memulai dengan MATLAB: Pengantar Singkat
- Menghubungkan Arduino dengan MATLAB - LED Berkedip
- Kontrol Motor DC Menggunakan MATLAB dan Arduino
- Kontrol Motor Stepper menggunakan MATLAB dan Arduino
- Bagaimana Plot Grafik Suhu Real Time menggunakan MATLAB
Di MATLAB, seperti biasa, ada dua cara untuk melakukan algoritma pemrosesan gambar, satu dengan langsung memasukkan perintah di editor / jendela perintah dan yang lainnya dengan membuat GUI untuk yang sama. Di sini, kami akan menunjukkan kepada Anda kedua metode untuk melakukan operasi dasar pemrosesan gambar di MATLAB.
1. Pengolahan Citra dengan menggunakan MATLAB Editor Window
Sekarang, kita akan menulis kode untuk melakukan beberapa operasi dasar pemrosesan gambar di jendela editor. Untuk membiasakan diri dengan semua terminologi dasar yang digunakan di MATLAB ikuti tautannya. Salin dan tempel kode di bawah ini di jendela editor, a = imread ('F: \ circuit digest \ pemrosesan gambar menggunakan matlab \ camerman.jpg'); subplot (2,3,1); imshow (a); b = rgb2gray (a); subplot (2,3,2); imshow (b); c = im2bw (a); subplot (2,3,3); imshow (c); d = imadjust (b); subplot (2,3,4); imshow (d); e = a; e = rgb2gray (e); subplot (2,3,5); imhist (e); imfinfo ('F: \ circuit digest \ pemrosesan gambar menggunakan matlab \ beard-man.jpg') = size (a) % colormap ('spring')
Pada variabel 'a', kita mengimpor gambar menggunakan perintah imread ('nama file') kemudian membuat plot baris '2' dan kolom '3' menggunakan subplot (baris, kolom, posisi) dan menampilkan gambar yang diimpor pada posisi ' 1 '. Untuk menampilkan gambar kita menggunakan perintah imshow ('filename') .
Berikut adalah beberapa perintah untuk melakukan beberapa pemrosesan dasar pada gambar yang diupload:
- Pada variabel 'b' kita mengubah citra RGB menjadi citra intensitas grayscale dengan menggunakan perintah rgb2gray ('filename') dan menampilkannya pada plot pada posisi '2'.
- Pada variabel 'c', kita mengubah gambar menjadi gambar biner atau bisa dikatakan dalam format '0' (hitam) dan '1' (putih) dengan menggunakan perintah im2bw ('nama file') dan menampilkannya di plot di posisi '3'.
- Pada variabel 'd' kita menyesuaikan atau memetakan nilai intensitas citra grayscale dengan menggunakan perintah imadjust ('filename') dan menampilkannya pada plot pada posisi '4'.
- Pada variabel 'e', kita memplot histogram citra grayscale dengan menggunakan perintah imhist ('filename') dan menampilkannya di plot pada posisi '5'. Untuk merencanakan histogram, Anda harus selalu mengubah gambar menjadi skala abu-abu dan kemudian Anda akan dapat melihat histogram dari file grafik tersebut.
- Perintah imfinfo ('nama file dengan lokasi') digunakan untuk menampilkan informasi tentang file grafis.
- = size ('filename') Perintah digunakan untuk menampilkan ukuran dan bidang warna dari file grafik tertentu.
- colormap ('spring') digunakan untuk mengubah jenis colormap file grafik. Di sini, dalam kode saya, saya menetapkan perintah ini sebagai komentar tetapi Anda dapat menggunakannya dengan menghapus tanda persentase. Ada banyak jenis warna di MATLAB seperti Jet, HSV, Hot, Cool, Summer, Autumn, Winter, Grey, Bone, Copper, Pink, Lines dan spring.
Seperti ini, ada sejumlah perintah di MATLAB yang dapat digunakan untuk melakukan tugas yang berbeda, Anda dapat memeriksa fungsi pemrosesan gambar di MATLAB dengan mengikuti tautan.
2. Pengolahan Gambar dengan MATLAB GUI
Membuat Antarmuka Pengguna Grafis MATLAB untuk Pemrosesan Gambar
Untuk membangun GUI (Graphical User Interface) untuk Pemrosesan Gambar, luncurkan GUI dengan mengetikkan perintah di bawah ini di jendela perintah .
panduan
Jendela popup akan terbuka, lalu pilih GUI kosong baru seperti yang ditunjukkan pada gambar di bawah ini,
Sekarang kita harus memilih jumlah tombol (setiap tombol akan melakukan tugas yang berbeda) dan satu sumbu untuk menampilkan gambar.
Untuk mengubah ukuran atau mengubah bentuk Tombol Tekan atau Sumbu, cukup klik di atasnya dan Anda akan dapat menarik sudut tombol. Dengan mengklik dua kali pada salah satu tombol ini, Anda akan dapat mengubah warna, string, tag, dan opsi lain dari tombol tersebut. Setelah kustomisasi akan terlihat seperti ini
Anda dapat menyesuaikan tombol sesuai pilihan Anda. Sekarang ketika Anda menyimpan ini, sebuah kode dibuat di jendela Editor MATLAB. Edit kode yang dibuat untuk mengatur tugas tombol yang berbeda. Di bawah ini kami telah mengedit kode MATLAB.
MATLAB GUI Code untuk Pemrosesan Gambar
Kode MATLAB lengkap untuk Pengolahan Gambar menggunakan MATLAB GUI, diberikan di akhir proyek ini. Selanjutnya kami menyertakan file GUI (.fig) dan file kode (.m) di sini untuk diunduh, yang dengannya Anda dapat menyesuaikan tombol atau ukuran Sumbu sesuai kebutuhan Anda. Kami telah mengedit kode yang dihasilkan seperti yang dijelaskan di bawah ini.
Dalam fungsi 'uploadimage' , salin dan tempel kode di bawah ini untuk memasukkan file dari PC. Di sini, perintah uigetfile ('tipe ekstensi gambar') digunakan untuk mengimpor gambar di MATLAB GUI. Baca file itu menggunakan perintah imread () dan kemudian tampilkan dengan perintah imshow () pada axes1 menggunakan sumbu (handle.axes1) . Sekarang, dengan perintah setappdata (), simpan variabel di GUI sehingga variabel dapat diakses oleh satu bagian GUI ke bagian GUI lainnya.
a = uigetfile ('. jpg') a = imread (a); sumbu (handle.axes1); imshow (a); setappdata (0, 'a', a)
Sekarang, di setiap fungsi Anda akan melihat perintah getappdata () yang digunakan untuk mengambil data yang disimpan menggunakan setappdata () di GUI.
Di sini kami akan menjelaskan delapan fungsi yang umum digunakan dalam pemrosesan gambar
No. S. |
Perintah |
Nama Tombol |
Tugas yang Harus Dilakukan |
1. |
uigetfile () |
Unggah Gambar |
Klik untuk mengimpor gambar dari Disk |
2. |
rgb2gray () |
RGB ke Gray |
Klik untuk mengubah gambar RGB menjadi grayscale |
3. |
im2bw () |
Ubah ke Gambar Biner |
Klik untuk mengubah gambar menjadi biner |
4. |
- |
SETEL ULANG |
Klik untuk mengatur ulang gambar seperti aslinya |
5. |
imhist () |
Histogram |
Klik untuk melihat histogram gambar |
6. |
imcomplement () |
Gambar Pelengkap |
Klik untuk memeriksa gambar pelengkap |
7. |
edge (nama file, metode) |
Deteksi Tepi |
Klik untuk mendeteksi tepi pada gambar |
8. |
imrotate (nama file, sudut) |
Putar searah jarum jam |
Klik untuk memutar gambar searah jarum jam |
9. |
imrotate (nama file, sudut) |
Putar Berlawanan Arah Jarum Jam |
Klik untuk memutar gambar berlawanan arah jarum jam |
1. Ubah gambar RGB menjadi grayscale
Pada fungsi 'rgb2gray' , copy dan paste kode di bawah ini untuk mengubah gambar RGB menjadi grayscale dengan menggunakan perintah rgb2gray () .
a = getappdata (0, 'a'); agray = rgb2gray (a); sumbu (handle.axes1); imshow (agray);
2. Konversikan ke Gambar Biner
Pada fungsi 'im2bw' , copy paste kode di bawah ini untuk mengubah gambar menjadi gambar biner atau bisa dikatakan dalam format '0' (hitam) dan '1' (putih) dengan menggunakan perintah im2bw () .
a = getappdata (0, 'a'); abw = im2bw (a); sumbu (handle.axes1); imshow (abw);
3. Reset ke Gambar Asli
Dalam fungsi 'reset' , salin dan tempel kode di bawah ini untuk mengatur ulang gambar yang diedit menjadi gambar asli.
a = getappdata (0, 'a'); sumbu (handle.axes1); imshow (a);
4. Plot Histogram Gambar
Dalam fungsi 'histogram' , salin dan tempel kode di bawah ini untuk memplot histogram dari gambar grayscale dengan menggunakan perintah imhist ('nama file') dan menampilkannya di axes1 . Untuk merencanakan histogram, Anda harus selalu mengubah gambar menjadi skala abu - abu dan kemudian Anda akan dapat melihat histogram dari file grafik tersebut.
a = getappdata (0, 'a'); ahist = a; ahist = rgb2gray (ahist); sumbu (handle.axes1); imhist (ahist);
5. Konversikan ke Gambar Pelengkap
Dalam fungsi 'komplementimage' , salin dan tempel kode di bawah ini untuk melihat komplemen file grafik yang disisipkan dengan menggunakan perintah imcomplement () .
a = getappdata (0, 'a'); acomp = a; acomp = imcomplement (acomp); sumbu (handle.axes1); imshow (acomp);
6. Deteksi Tepi dengan Metode Canny
Dalam fungsi 'edge' , salin dan tempel kode di bawah ini untuk mendeteksi dan menemukan tepi dalam gambar grayscale dengan menggunakan command edge ('nama file', 'metode') . Sebagai ganti metode, Anda dapat memilih di antara ketiganya, Canny, Prewitt, dan montase . Kami menggunakan metode Canny untuk deteksi tepi. Anda juga tidak dapat mendeteksi tepi secara langsung dari gambar asli, pertama-tama Anda harus mengubahnya menjadi skala abu - abu dan kemudian Anda dapat mendeteksi tepinya.
a = getappdata (0, 'a'); aedge = a; aedge = rgb2gray (aedge); aedge = edge (aedge , 'Canny') ' axes (handle.axes1); imshow (aedge);
7. Putar Gambar Searah Jarum Jam
Dalam fungsi 'searah jarum jam' , salin dan tempel kode di bawah ini untuk memutar gambar searah jarum jam dengan menggunakan perintah imrotate (nama file, 'sudut')
a = getappdata (0, 'a'); aclock = a; aclock = imrotate (aclock, 270); sumbu (handle.axes1); imshow (aclock);
8. Putar Gambar Berlawanan Arah Jarum Jam
Dalam fungsi 'berlawanan arah jarum jam' , salin dan tempel kode di bawah ini untuk memutar gambar berlawanan arah jarum jam dengan menggunakan perintah imrotate (nama file, 'sudut')
a = getappdata (0, 'a'); aclock = a; aclock = imrotate (aclock, 90); sumbu (handle.axes1); imshow (aclock);
Jalankan kode MATLAB GUI untuk Pemrosesan Gambar
Sekarang, klik tombol 'RUN' untuk menjalankan kode yang telah diedit dalam file.m
MATLAB mungkin memerlukan beberapa detik untuk merespons, jangan klik tombol GUI apa pun hingga MATLAB menampilkan pesan sibuk di sudut kiri bawah seperti yang ditunjukkan di bawah ini,
Ketika semuanya sudah siap, impor gambar dari PC dengan mengklik tombol 'Unggah Gambar'. Sekarang, Anda dapat mengubah atau memutar gambar dengan mengklik tombol apa saja yang sesuai. Tabel di bawah ini akan menunjukkan kepada Anda tugas yang kami lakukan dengan mengklik tombol tertentu:
Hasil klik setiap tombol akan ditampilkan di bawah ini,
Pengerjaan lengkap setiap tombol ditunjukkan dalam Video di bawah ini.
Anda bahkan dapat melakukan pemrosesan gambar tingkat lanjut dengan Kotak Alat Pemrosesan Gambar yang dapat Anda beli dari situs resmi MATHWORKS, beberapa operasi tingkat lanjut tercantum di bawah ini:
- Operasi geometris
- Blokir operasi
- Penyaringan linier dan desain filter
- Transformasi
- Analisis dan peningkatan gambar
- Operasi gambar biner