Deteksi dan Perhitungan Jumlah Jeruk Matang dan Non Matang …rinaldi.munir/Citra/... · 2019. 12....

10
Deteksi dan Perhitungan Jumlah Jeruk Matang dan Non Matang berdasarkan Citra Digital Hagai Raja Sinulingga 1 1 Program Studi Sarjana Teknik Informatika, Sekolah Teknik Elektro dan Informatika, Institut Teknologi Bandung, Jl. Ganesha 10 Bandung 40132, Indonesia E-mail: [email protected] Abstrak. Estimasi jumlah dan waktu panen jeruk sangat penting bagi petani untuk mengestimasi usaha yang dibutuhkan untuk memanen tanamannya. Hal ini dapat dilakukan dengan cara menghitung jumlah buah matang dan non matang pada pohon jeruk. Namun jika dilakukan manual akan sulit terutama jika terdapat banyak pohon dan lahan yang luas. Untuk itu pada penelitian ini diajukan solusi deteksi dan perhitungan jumlah jeruk menggunakan teknik-teknik pengolahan citra. Jeruk dideteksi dengan memanfaatkan fitur deteksi tepi dan perbedaan warna (color space) antara jeruk dan lingkungannya. Selanjutnya klasifikasi dan perhitungan dilakukan dengan analisis histogram hasil pemotongan (cropping) gambar jeruk yang dideteksi. Hasil eksperimen menunjukkan bahwa solusi yang diajukan sudah mampu melakukan perhitungan jumlah jeruk matang dan non matang untuk input citra pohon jeruk statis. 1. Pendahuluan Permasalahan menghitung jumlah buah yang terdapat dalam pohon penting dilakukan untuk mengestimasi jumlah panen dan seberapa besar usaha yang diperlukan untuk memanennya. Namun hal ini akan sangat sulit dilakukan secara manual apalagi ketika jumlah pohon sangat banyak dan ukuran lahan sangat luas seperti yang diilustrasikan pada gambar 1. Untuk menjawab persoalan perhitungan dapat dilakukan dengan cara pendekatan teknologi ditambah pendekatan matematis. Pendekatan teknologi dilakukan dengan menghitung buah secara otomatis dibantu dengan alat-alat yang dapat memproses citra, sedangkan pendekatan matematis dilakukan dengan perhitungan regresi untuk mengestimasi jumlah keseluruhan buah. Untuk pendekatan teknologi sendiri pertama sekali harus dapat dilakukan deteksi buah pada pohon. Gambar 1. Ilustrasi Kebun Jeruk (Sumber: sevenfields.com)

Transcript of Deteksi dan Perhitungan Jumlah Jeruk Matang dan Non Matang …rinaldi.munir/Citra/... · 2019. 12....

  • Deteksi dan Perhitungan Jumlah Jeruk Matang dan Non

    Matang berdasarkan Citra Digital

    Hagai Raja Sinulingga1

    1 Program Studi Sarjana Teknik Informatika, Sekolah Teknik Elektro dan Informatika,

    Institut Teknologi Bandung, Jl. Ganesha 10 Bandung 40132, Indonesia

    E-mail: [email protected]

    Abstrak. Estimasi jumlah dan waktu panen jeruk sangat penting bagi petani untuk mengestimasi

    usaha yang dibutuhkan untuk memanen tanamannya. Hal ini dapat dilakukan dengan cara

    menghitung jumlah buah matang dan non matang pada pohon jeruk. Namun jika dilakukan

    manual akan sulit terutama jika terdapat banyak pohon dan lahan yang luas. Untuk itu pada

    penelitian ini diajukan solusi deteksi dan perhitungan jumlah jeruk menggunakan teknik-teknik

    pengolahan citra. Jeruk dideteksi dengan memanfaatkan fitur deteksi tepi dan perbedaan warna

    (color space) antara jeruk dan lingkungannya. Selanjutnya klasifikasi dan perhitungan dilakukan

    dengan analisis histogram hasil pemotongan (cropping) gambar jeruk yang dideteksi. Hasil

    eksperimen menunjukkan bahwa solusi yang diajukan sudah mampu melakukan perhitungan

    jumlah jeruk matang dan non matang untuk input citra pohon jeruk statis.

    1. Pendahuluan Permasalahan menghitung jumlah buah yang terdapat dalam pohon penting dilakukan untuk

    mengestimasi jumlah panen dan seberapa besar usaha yang diperlukan untuk memanennya. Namun hal

    ini akan sangat sulit dilakukan secara manual apalagi ketika jumlah pohon sangat banyak dan ukuran

    lahan sangat luas seperti yang diilustrasikan pada gambar 1. Untuk menjawab persoalan perhitungan

    dapat dilakukan dengan cara pendekatan teknologi ditambah pendekatan matematis. Pendekatan

    teknologi dilakukan dengan menghitung buah secara otomatis dibantu dengan alat-alat yang dapat

    memproses citra, sedangkan pendekatan matematis dilakukan dengan perhitungan regresi untuk

    mengestimasi jumlah keseluruhan buah. Untuk pendekatan teknologi sendiri pertama sekali harus dapat

    dilakukan deteksi buah pada pohon.

    Gambar 1. Ilustrasi Kebun Jeruk (Sumber: sevenfields.com)

  • Saat ini penelitian untuk mendeteksi buah sudah banyak dilakukan. Untuk kasus jeruk, yakni salah

    satu buah produksi Indonesia, beberapa penelitian sudah melakukan pendekatan computer vision untuk

    memperbaiki gambar pohon yang terkena bayangan, lalu menghitung buah dengan metode K-Means

    (Zeeshan, dkk, 2016). Ada juga yang melakukan deteksi menggunakan metode SVM dibantu dengan

    pre-processing gambar menggunakan Sobel Operator dan Laplacian Operator (Walter, dkk, 2016) untuk

    kasus deteksi buah non matang yang tentunya lebih sulit karena warnanya yang sulit dibedakan dengan

    daun pohon jeruk sendiri. Namun dari penelitian-penelitian ini akurasi yang dimiliki dari sistem masih

    cukup rendah yakni 49.03 ± 1,4% (Walter, dkk, 2016) dalam hal deteksi jeruk non matang dan 91.3%

    untuk kasus deteksi jeruk yang matang dengan pohon berbayangan (Zeeshan, dkk, 2016).

    Pada makalah ini akan dibahas bagaimana menggabungkan tantangan kedua penelitian ini dengan

    pendekatan deteksi tepi dan penggunaan color-space. Selain itu, penelitian ini akan mencoba

    memisahkan antara jeruk matang dan non-matang dengan perhitungan histogram serta menghitung

    jumlahnya agar dapat menjadi pertimbangan petani nantinya dalam mengestimasi waktu panen.

    Penelitian ini diharapkan dapat menjadi pengetahuan untuk penelitian selanjutnya dalam

    mengembangkan sistem yang dapat membantu petani jeruk Indonesia untuk mengoptimalkan panen atas

    ladangnya.

    2. Landasan Teori Pada bagian ini akan dibahas teori-teori pengolahan citra yang dipakai dalam mengimplementasi

    solusi yang dirancang pada makalah ini.

    2.1. Citra Digital Citra digital adalah sekumpulan titik yang disebut pixel yang membentuk informasi gambar pada

    komputer. Disebut digital karena gambar yang sebelumnya adalah gelombang kontinu dilakukan

    digitalisasi sehingga dapat direpresentasikan pada komputer yang datanya berupa diskrit. Proses

    digitalisasi citra ada dua tahap yaitu (Rinaldi, 2019):

    1. Penerokan (sampling), yakni proses digitalisasi citra dalam ranah spasial (x,y)

    2. Kuantisasi, yakni proses penangkaan nilai intensitas gelombang menjadi bilangan bulat

    Dari kedua tahap ini, dapat dihasilkan sebuah citra digital yang berbentuk matriks berisi informasi

    warna. Gambar 2 adalah ilustrasi contoh hasil digitalisasi pada citra.

    Gambar 2. Citra asli (kiri) dan citra hasil digitalisasi (kanan) (Sumber: Dr. George Bebis, Image

    Formation and Representation, CS485/685 Computer Vision)

  • 2.2. Color-space Setiap titik pada citra berisi informasi warna yang direpresentasikan dengan model warna tertentu

    sehingga dapat ditampilkan dengan benar di layar komputer. Model warna ini merupakan kesepakatan

    bersama yang disepakati oleh lembaga yang merancangnya. Beberapa model yang banyak digunakan

    saat ini adalah seperti model RGB, CMYK, HSV, dan HSL. Masing-masing model memiliki kasus

    penggunaan yang cocok untuk membantu penyelesaian masalah tertentu baik dari sisi pemampatan

    ukuran penyimpanan citra maupun teknik mengenali citra. Pada makalah ini akan dipakai dua model

    saja dalam pemrosesan citra yang dilakukan yakni RGB dan HSV.

    2.2.1. Red Green Blue (RGB) Seperti namanya, model warna ini didefinisikan dengan nilai percampuran merah-hijau-biru yang

    dapat direpresentasikan dalam vektor warna 3D berbentuk kubus seperti yang diilustrasikan pada

    gambar 3. Warna ini dibakukan pada tahun 1931 oleh CIE (Commission International de l’Eclairage)

    atau International Lighting Committee. CIE menstandarkan gelombang warna kontinu untuk RGB

    adalah sebagai berikut.

    R : 700nm G: 546.1 nm B: 435.8 nm

    Gambar 3. Ilustrasi spektrum warna RGB (Sumber: Slide Kuliah IF4073 oleh Rinaldi Munir)

    Selain dari representasinya yang sederhana. Transformasi citra berwarna RGB menjadi citra

    Grayscale yakni citra berwarna hitam-putih dengan rentang 0-255 juga mudah dilakukan yakni dengan

    mengubah nilai setiap pixel dengan rumus berikut.

    (1)

    Dengan pewarnaan grayscale citra nantinya dapat diolah untuk dilakukan pendeteksian tepi dalam

    pengenalan citra.

    2.2.2. Hue Saturation Value (HSV) Model ini mendefinisakan warna terdiri dari Hue, Saturation dan Value yang masing-masing

    memiliki arti berikut:

    1. Hue, jenis warna sebenarnya (merah, ungu, dll) dengan rentang nilai 0 sampai 2 2. Saturation, kemurnian warna dengan rentang nilai [0,1] 3. Value, nilai kecerahan sebuah warna dengan rentang nilai [0,1]

    Hasil dari pemodelan ini adalah vektor warna yang berbentuk prisma segi enam yang ditunjukkan pada

    gambar 4. Dapat dilihat bahwa perbedaan mencolok atas HSV dan RGB adalah pemisahan yang jelas

    atas satu warna dengan warna lain. Setiap warna disatukan dalam satu irisan vertical atas prisma yang

    menghasilkan rentang warna tersebut dari terang ke gelap jika dilihat dari atas ke bawah.

  • Gambar 5. Perbandingan RGB dan HSV (Sumber: Slide Kuliah IF4073 oleh Rinaldi Munir)

    2.3. Deteksi Tepi Tepi adalah salah satu fitur utama dalam pengenalan citra. Tepi yang disebut juga edge adalah

    bagian pinggiran dari sebuah objek yang dihasilkan dari perbedaan intensitas warna yang drastis dari

    satu pixel ke pixel tetangganya. Deteksi tepi adalah proses pencarian bagian pada citra yang merupakan

    posisi terjadinya perubahan intensitas warna (gradien) tersebut.

    Saat ini terdapat berbagai metode yang digunakan untuk mendeteksi tepi. Seluruh metode ini pasti

    menggunakan konvolusi. Konvolusi sendiri adalah proses perkalian nilai matriks warna pada citra

    dengan suatu matriks pengali yang disebut kernel. Masing-masing metode memiliki hasil yang berbeda

    satu sama lain akibat perbedaan kernel tersebut.

    Pada makalah ini sendiri, akan digunakan metode deteksi tepi yang bernama Operator Canny.

    Nama ini diambil dari penemunya yang bernama John Canny yang mengusulkan pendeteksian tepi

    dengan langkah-langkah sebagai berikut (Rinaldi, 2019):

    1. Haluskan citra dengan penapisan Gaussian (kernel gaussian tidak dijelaskan disini) 2. Hitung gradien setiap pixel dengan satu operator seperti Sobel, Roberts, Prewitt, dll. 3. Jika nilai gradien melebihi nilai ambang T, maka pixel diubah menjadi biner yang

    menandakan pixel tepi.

    Metode deteksi tepi ini dipilih karena hasilnya yang berupa pixel biner yang menandakan lokasi

    tepi dapat langsung dipakai untuk dianalisis dalam pengenalan objek terkhusus buah jeruk pada makalah

    ini. Gambar 5 adalah contoh hasil deteksi tepi operator Canny.

    Gambar 5. Citra asli (kiri) dan citra hasil deteksi tepi dengan Operator Canny (kanan) (Sumber: Slide

    Kuliah IF4073 oleh Rinaldi Munir)

  • 2.4. Histogram Citra Histogram citra adalah informasi terkait persebaran intensitas warna pada citra digital. Dari

    histogram dapat diketahui frekuensi kemunculan suatu warna pada citra. Dari histogram juga dapat

    dilihat tingkat kecerahan (brightness) ataupun kontras (contrast) dari sebuah citra. Dengan bantuan nilai

    ini citra juga nantinya dapat dilakukan klasifikasi ataupun analisis lebih lanjut terhadap citra.

    Perhitungan histogram dapat dilakukan dengan mengiterasi pixel-pixel citra dan menghitung

    setiap kemunculan intensitas pada sebuah tabel. Kemudian dari tabel kemunculan tersebut dapat

    digambarkan menjadi diagram horizontal bar sehingga dapat dengan mudah dianalisis. Gambar 6 adalah

    contoh histogram atas suatu citra berukuran 4x4 dengan model warna grayscale [0,9].

    Gambar 6. Ilustrasi citra (kiri) dan Histogramnya (kanan) (Sumber: Slide Kuliah IF4073 oleh Rinaldi

    Munir)

    2.5. Jeruk Jeruk merupakan buah tropis yang dapat tumbuh pada tempat-tempat yang memiliki kadar hujan

    yang tinggi dan sangat bagus apabila ditanam pada wilayah dataran tinggi. Jeruk tumbuh besar menjadi

    pohon berkambium yang berdaun hijau berbentuk lonjong menyerupai telur. Buah jeruk sendiri

    berbentuk semi bundar yang jika matang akan berwarna kuning. Buah jeruk yang belum/non matang

    akan berwarna hijau yang semakin lama akan semakin kekuningan. Gambar 7 adalah contoh gambar

    jeruk.

    Gambar 7. Jeruk matang (kiri atas), Jeruk non matang (kanan atas) dan tampilan dalam jeruk (bawah)

    (Sumber: pxhere.com)

  • 3. Implementasi Solusi Secara umum, tahapan solusi yang diajukan untuk menyelesaikan masalah deteksi dan

    perhitungan jumlah jeruk matang dan non matang berdasarkan citra digital dapat dilihat pada gambar 8.

    Untuk penjelasan masing-masing tahap akan dijelaskan pada masing-masing subbab.

    Gambar 8. Alur rancangan solusi

    Dalam mengimplementasikan solusi, penulis menggunakan kakas python dengan bantuan library

    OpenCV, Numpy dan Matplotlib. Masing-masing penggunaan library akan dijelaskan pada modul

    tarkait.

    3.1. Akuisisi Citra Pada tahap ini citra yang sudah bersifat statis berekstensi jpg atau png dibaca sehingga siap untuk

    diolah. Pembacaan citra dibantu dengan library OpenCV dengan perintah berikut.

    img = cv2.imread('./img/')

    Hasil dari pembacaan ini adalah citra dengan model warna BGR yaitu RGB yang terbalik. Sehingga

    pada tahap ini juga dilakukan konversi model BGR ke dalam model HSV dengan perintah berikut.

    img_hsv = cv2.cvtColor(img, cv2.COLOR_BGR2HSV)

    Kedua hasil citra ini nantinya akan dipakai untuk diolah. Citra dengan model RGB dipakai untuk deteksi

    tepi dan citra dengan model HSV dipakai untuk deteksi color-space.

    3.2. Deteksi Tepi Pada tahap ini dilakukan ekstrasi fitur tepi yang nantinya akan dipakai untuk mengenali bagian

    mana yang merupakan jeruk sehingga jeruk dapat dipisahkan dari pohon dan daun yang berada di

    sekitarnya. Proses ini juga dibantu dengen library OpenCV dengan perintah berikut.

    edges = cv2.Canny(img,150,220)

    Deteksi tepi dilakukan dengan operator Canny dengan nilai ambang 150-220. Nilai ini diambil

    dari hasil percobaan manual dengan melihat hasil pembentukan tepi yang paling tepat untuk kasus

    deteksi pohon jeruk. Gambar 9 adalah contoh hasil dari proses ini. Gambar ditampilkan dengan bantuan

    library Matplotlib dengan perintah serangkaian perintah berikut.

    plt.subplot(121),plt.imshow(img,cmap = 'gray') plt.title('Original Image'), plt.xticks([]), plt.yticks([]) plt.subplot(122),plt.imshow(edges,cmap = 'gray') plt.title('Edge Image'), plt.xticks([]), plt.yticks([])

  • Dapat dilihat bahwa jeruk adalah bagian-bagian pada gambar tepi yang membentuk lubang-

    lubang bundar pada pohon. Oleh karena sulit dalam memisahkan jeruk dengan pohon hanya dengan fitur

    tepi, maka perlu dikombinasikan dengan fitur color-space agar seperasi dapat dilakukan dengan tepat.

    Gambar 9. Citra pohon jeruk grayscale (kiri) dan hasil deteksi tepi (kanan)

    3.3. Deteksi Color-space Jeruk memiliki warna yang unik dibanding dengan lingkungan sekitarnya yaitu batang, daun serta

    langit. Pada umumnya langit berwarna putih atau biru, batang pohon berwarna coklat dan daun berwarna

    hijau. Sementara buah jeruk berwarna hijau kekuningan. Oleh karena itu sifat ini dapat dimanfaatkan

    untuk menambah informasi tentang pemisahan antara pohon dan jeruk. Dapat dilakukan pemisahan

    dengan mengambil bagian gambar yang memiliki rentang hijau kekuningan dari gambar. Hal ini dapat

    dilakukan dengan perintah berikut dengan bantuan library OpenCV dan Numpy.

    hsv_color1 = np.asarray([0, 0, 255]) # white hsv_color2 = np.asarray([60, 255, 255]) # orange mask = cv2.inRange(img_hsv, hsv_color1, hsv_color2) Dilakukan pembuatan rentang terlebih dahulu yang mendefiniskan rentang warna putih ke jingga

    untuk nantinya digunakan sebagai parameter fungsi dari OpenCV. Selanjutnya OpenCV akan

    mengambil bagian dari gambar yang memiliki rentang warna sesuai parameter sehingga tersisa hanya

    bagian kecil dari buah jeruk pada pohon. Gambar 10 adalah contoh hasil dari proses ini.

    Gambar 10. Citra hasil deteksi color-space (buah ditandai titik warna biru)

  • 3.4. Deteksi Jeruk Pada tahap ini dengan bantuan fitur yang dihasilkan tahap deteksi tepi dan deteksi color-space

    dapat dilakukan deteksi jeruk pada pohon. Hal ini dilakukan dengan mengiterasi pixel-pixel pada

    gambar hasil color-space. Secara garis besar berikut adalah alur pemrosesan yang dilakukan:

    1. Satukan himpunan kandidat lokasi antara titik-titik pada gambar hasil color-space. 2. Bandingkan himpunan kandidat lokasi dengan deteksi tepi. 3. Lakukan pengembangan diameter dari lokasi titik color-space sampai ditemukan tepi di

    segala sisi dari hasil deteksi tepi lalu beri pewarnaan.

    4. Lakukan langkah 3 untuk semua anggota himpunan kandidat. Contoh hasil dari tahap ini dapat dilihat pada gambar 11. Dapat dilihat bahwa sudah dapat dipisahkan

    untuk sebagian besar kasus jeruk dengan pohonnya.

    Gambar 11. Citra hasil deteksi jeruk (buah ditandai titik warna biru)

    3.5. Klasifikasi Jeruk Klasifikasi jeruk matang dan non matang dapat dilakukan dengan melihat distribusi

    kekuningannya seperti yang sudah dijelaskan pada dasar teori. Untuk melakukan klasifikasi jeruk

    pertama bagian gambar yang merupakan Jeruk dipisahkan dari gambar lainnya dengan melakukan

    pemotongan gambar (cropping). Hal ini dilakukan dengan bantuan library OpenCV dengan perintah

    berikut.

    cropped_fruit = img[y:y+h, x:x+w]

    Setelah gambar sebuah jeruk didapat, klasifikasi dapat dilihat dari jumlah bagian yang hijau dan

    bagian yang kuning. Buah yang dikatakan matang diasumsikan ialah buah dengan jumlah warna

    kuningnya lebih mendominasi daripada warna hijau. Gambar 12 adalah tampilan histogram yang sangat

    berbeda dari jeruk matang dan jeruk non matang.

    Gambar 12. Histogram jeruk non matang (kiri) dan jeruk matang (kanan)

  • Dapat dilihat bahwa jeruk non matang cenderung memiliki persebaran histogram di tengah setelah

    citra RGB diubah menjadi Grayscale. Sedangkan untuk jeruk matang cenderung memiliki persebatan

    histogram di kanan mengingat tingkat kecerahahan warna kuning lebih mendekati warna putih

    disbanding warna hijau. Sifat inilah yang dipakai untuk mengklasifisikasikan buah non matang dan buah

    matang.

    3.6. Perhitungan Jeruk Saat melakukan klasifikasi jeruk tentu saja juga dilakukan iterasi perhitungan antara jeruk matang

    dan jeruk non matang. Diawal, kedua variabel dimulai dari nol dan untuk setiap penemuan jeruk akan

    ditambahkan nilai satu untuk variabel matang jika hasil klasifikasi menunjukkan matang dan akan

    menambahkan satu untuk variabel non matang jika hasil klasifikasi menunjukkan non matang. Hasil

    akhir akan ditampilkan dalam konsol program. Gambar 13 adalah contoh hasil eksekusi akhir dari solusi

    yang dibangun.

    Gambar 12. Tampilan console dari hasil akhir eksekusi

    4. Hasil Eksperimen Eksperimen dilakukan pada dua gambar yang didapat dari internet. Hasil eksperimen

    menunjukkan bahwa solusi yang dibangun sudah dapat menyelesaikan masalah deteksi dan perhitungan

    jumlah jeruk matang dan non matang berdasarkan citra digital. Hanya saja kasusnya hanya terbatas pada

    gambar yang memiliki sudut yang tepat yakni gambar pohon statis dan terpisah dari pohon lain. Tabel

    1 berisi rangkuman dari hasil eksperimen yang dilakukan.

    Tabel 1. Rangkuman hasil eksperimen

    Gambar Asli Gambar Hasil Deteksi Output Program

    (sumber: bibitunggul.co.id)

    MATANG : 108

    NON MATANG : 3

    (sumber: Balitjestro Indonesia)

    MATANG : 74

    NON MATANG : 2

  • 5. Kesimpulan dan Saran Dari percobaan yang dilakukan dapat disimpulkan bahwa rancangan solusi yang diajukan oleh

    penulis dapat menjadi solusi atas permasalahan deteksi dan perhitungan jumlah jeruk matang dan non

    matang berdasarkan citra digital. Walaupun dari sisi akurasi belum dihitung secara kuantitatif mengingat

    sulitnya menghitung banyaknya buah jeruk pada pohon, dapat dikatakan secara umum bahwa metode

    ini dapat digunakan untuk mengestimasi jumlah panen oleh petani nantinya.

    Saran untuk penelitian selanjutnya adalah dapat dicoba penerapannya pada input video serta

    implementasi pada platform yang siap dipakai langsung oleh petani seperti pada platform android

    ataupun iOS. Penulis juga menyadari bahwa kasus eksperimen masih belum terlalu banyak, untuk itu

    pada penelitian selanjutnya disarankan untuk menggunakan kasus uji yang lebih banyak dan majemuk

    seperti kasus tidak ada buah dan kasus buah non matang yang lebih banyak dari buah matang. Selain

    itu, untuk penelitian yang lebih kompleks dapat juga lingkup deteksi diperluas hingga mampu

    mendeteksi buah busuk ataupun buah sakit.

    6. Daftar Pustaka [1] Zeeshan Malik, et al. 2016. Detection and Counting of On-Tree Citrus Fruit for Crop Yield

    Estimation. International Journal of Advanced Computer Science and Applications.

    [2] Walter Maldonado Jr., José Carlos Barbosa. 2016. Automatic green fruit counting in orange trees

    using digital images. Computers and Electronics in Agriculture 127 (2016) 572-581.

    [3] Cuevas, E., Wario, F., Osuna-Enciso, V., Zaldivar, D., Pérez-Cisneros, M. 2012. Fast algorithm for

    multiple-circle detection on images using learning automata, IET Image Processing (8), pp. 1124-

    1135

    [4] Rinaldi Munir. 2019. Bahan Kuliah IF4073 Interpretasi dan Pengolahan Citra Sem. I Tahun Ajaran

    2019/2020. Disadur dari http://informatika.stei.itb.ac.id/~rinaldi.munir/Citra/2019-2020/citra19-

    20.htm

    [5] OpenCV Documentation. Disadur dari https://opencv-python-tutroals.readthedocs.io/

    Ucapan Terima kasih

    Penulis mengucapkan syukur kepada Tuhan Yang Maha Esa karena atas hikmat, berkat dan

    rahmat-Nya penulis mampu menyelesaikan tugas ini dengan baik. Penulis juga berterima kasih kepada

    Bapak Dr. Ir. Rinaldi Munir, MT. selaku dosen pengampu mata kuliah IF4073 Interpretasi dan

    Pengolahan Citra yang selama satu semester ini telah membimbing saya dan mengajar saya tentang

    konsep-konsep penting dalam pengolahan citra. Serta tidak lupa penulis berterima kasih atas dukungan

    orang tua dan teman-teman seperjuangan di kelas maupun luar kelas. Kiranya damai sejahtera selalu

    menyertai kita semua.

    http://informatika.stei.itb.ac.id/~rinaldi.munir/Citra/2019-2020/citra19-20.htmhttp://informatika.stei.itb.ac.id/~rinaldi.munir/Citra/2019-2020/citra19-20.htmhttps://opencv-python-tutroals.readthedocs.io/