Bagaimana algoritma Canny Edge Detection dapat digunakan untuk menghasilkan tepi yang tajam dalam citra sehingga dapat membedakan antara tepi yang penting dalam citra dan detail lainnya yang mungkin tidak relevan? Kalian dapat mengaitkannya dengan langkah-langkah pada proses Canny Edge Detection
Pengurangan noise (penghalusan):
Proses ini dimulai dengan mengurangi noise pada gambar. Hal ini biasanya dilakukan dengan menerapkan filter penghalusan, seperti filter Gaussian, untuk memperhalus gambar. Hal ini menghilangkan noise yang memengaruhi pendeteksian tepi.
Deteksi gradien:
Setelah gambar dihaluskan, langkah selanjutnya adalah mendeteksi gradien (perubahan intensitas) pada gambar. Hal ini dilakukan dengan menerapkan operator Sobel dan operator gradien lainnya untuk menghitung gradien vertikal dan horizontal pada gambar.
Menentukan besarnya dan arah gradien:
Setiap piksel pada gambar akan memiliki nilai gradien dalam dua arah (vertikal dan horizontal). Besarnya gradien (magnitude) dihitung sebagai akar kuadrat dari gradien vertikal dan horizontal setiap piksel dan mengukur tingkat perubahan intensitas pada piksel tersebut. Arah gradien dihitung sebagai arctan (atau arctan 2) dari gradien vertikal dan horizontal.
Penggunaan ambang batas ganda:
Canny menggunakan ambang batas ganda untuk mengidentifikasi tepi; ada dua ambang batas: ambang batas atas dan ambang batas bawah. Piksel yang besaran gradiennya melebihi ambang batas atas, secara otomatis dianggap sebagai tepi yang kuat. Piksel dengan besaran gradien di bawah ambang batas bawah dianggap bukan tepi; piksel dengan besaran gradien di antara dua ambang batas adalah piksel ambigu yang memerlukan analisis lebih lanjut.
Deteksi kontur dengan histeresis:
Piksel ambigu (di antara dua ambang batas) dihubungkan ke piksel tepi yang kuat untuk membentuk kontur. Hal ini dilakukan dengan menggunakan teknik histeresis. Jika sebuah piksel berdekatan dengan piksel tepi yang kuat, piksel tersebut dianggap sebagai bagian dari kontur.
Hasil dari proses ini adalah gambar biner di mana hanya tepi yang kuat dan penting yang diidentifikasi sebagai kontur. Hasilnya, tepi dipertajam dan detail kecil yang mungkin tidak relevan dengan gambar dihilangkan.
Dengan menggunakan dual thresholding dan pemrosesan histeresis, Canny Edge Detection dapat membedakan antara tepi yang penting dan detail lain yang kurang penting dalam gambar, memberikan tepi yang tajam dan relevan untuk berbagai aplikasi pemrosesan gambar.
Langkah pertama adalah mengurangi noise dalam citra dilakukan dengan menerapkan filter Gaussian pada citra. yg berfungsi untuk menghaluskan citra dan menghilangkan noise kecil.
Setelah citra dihaluskan, langkah selanjutnya adalah menghitung gradien citra. Ini membantu untuk menemukan lokasi di mana intensitas citra berubah secara signifikan. Gradien citra dapat dihitung dengan menggunakan operator Sobel atau operator gradien lainnya, Selanjutnya, menentukan kepentingan setiap tepi yang terdeteksi. Hal ini dapat dicapai dengan menghitung magnitudo gradien dan arah gradien di setiap titik dalam citra. langkah selanjutnya yaitu Non-maximum Suppression ini bertujuan untuk menghilangkan tepi yang tidak penting. Untuk setiap titik dalam citra, hanya tepi yang memiliki magnitudo gradien maksimum di arah gradien yang sesuai yang dipertahankan. Tepi-tepi yang kurang signifikan dihilangkan, Untuk menghilangkan noise dan mempertahankan tepi yang lebih kuat, kita menerapkan dua ambang batas, yaitu ambang atas (high threshold) dan ambang bawah (low threshold). Tepi yang memiliki magnitudo gradien di atas ambang atas akan dianggap sebagai tepi yang kuat, sementara tepi yang memiliki magnitudo gradien di antara ambang atas dan ambang bawah akan dianggap sebagai tepi yang lemah. Tepi yang lebih lemah tetap dipertahankan hanya jika mereka terhubung dengan tepi yang kuat (misalnya, dalam garis tepi yang lebih panjang). Ini membantu memisahkan tepi yang relevan dari detail yang kurang signifikan.
152021006 Muhammad RIzki Herdian
992023098 Rendi Septia Rahman
992023094 Fadhil Arrijal
992023096 Kemal Farabi Habidillah
untuk menghasilkan tepi yang tajam dalam citra dengan menggunakan tiga langkah utama, yaitu:
- Penggunaan filter Gaussian untuk mengurangi noise: Filter Gaussian digunakan untuk mengurangi noise dalam citra. Noise adalah gangguan yang dapat menyebabkan tepi yang tidak akurat. Dengan mengurangi noise, algoritma Canny dapat menghasilkan tepi yang lebih halus dan akurat.
- Penentuan gradien lokal: Gradient lokal adalah ukuran perubahan intensitas dari satu titik ke titik lainnya. Algoritma Canny menggunakan filter Sobel untuk menentukan gradien lokal pada setiap titik dalam citra.
- Non-maxima suppression: Non-maxima suppression adalah proses untuk menghilangkan tepi palsu. Tepi palsu adalah tepi yang tidak sebenarnya ada dalam citra. Non-maxima suppression bekerja dengan mengidentifikasi titik-titik gradien tertinggi dalam citra dan hanya mempertahankan tepi yang memiliki nilai gradien tertinggi di area sekitarnya.
Algoritma Canny Edge Detection menghasilkan tepi yang tajam dengan mengidentifikasi perubahan tajam dalam intensitas piksel citra melalui tiga langkah utama: filter Gaussian untuk mengurangi noise, deteksi gradien untuk menemukan perubahan tajam, dan pemilihan ambang untuk membedakan tepi yang penting dari detail yang tidak relevan.
-
Reduksi Noise: Menghaluskan citra untuk menghilangkan noise dengan filter Gaussian.
-
Perhitungan Gradien: Menghitung seberapa cepat intensitas citra berubah dalam arah horizontal (Gx) dan vertikal (Gy) menggunakan operator Sobel.
-
Perhitungan Magnitudo dan Arah Gradien: Menghitung seberapa kuat perubahan intensitas (magnitudo) dan arahnya di setiap titik dalam citra.
-
Non-Maximum Suppression: Memastikan hanya tepi terkuat yang dipertahankan di sepanjang garis tepi.
-
Histeresis Thresholding: Menerapkan ambang batas untuk memisahkan tepi kuat dan lemah, dengan memeriksa keterhubungan antara tepi.
-
Deteksi Tepi Terhubung: Memastikan tepi lemah yang terhubung dengan tepi kuat dianggap sebagai tepi yang valid.

2. finding gradient menggunakan operator turunan pertama (robert, sobel, prewitt)
3. mengkonversi tepian yg masih blur pada gambar hasil magnitude gradien yg menghasilkan tepian yg tajam.
4. dengan menerapkan otsu's thresholding pada citra tepi hasil dari canny edge detection, dapat menghasilkan citra biner yang lebih tajam dengan background yg relatif homogen dan kontur objek yg lebih tegas.
Reduksi Noise (Smoothing): Tahap pertama dalam algoritma Canny adalah mengurangi noise dalam citra. Ini dilakukan dengan menerapkan filter Gaussian ke citra. Penghalusan ini membantu menghilangkan noise tingkat rendah yang bisa menjadi sumber kesalahan dalam deteksi tepi.
Perhitungan Gradien Citra: Setelah menghaluskan citra, algoritma menghitung gradien citra dengan menggunakan operator Sobel atau operator gradien lainnya. Hasilnya adalah dua citra yang menunjukkan magnitude gradien dan arah gradien di setiap piksel. Magnitude gradien mengukur sejauh mana perubahan intensitas cahaya di sekitar suatu piksel, sedangkan arah gradien mengindikasikan arah perubahan terbesar dalam intensitas.
Non-maximum Suppression: Tahap ini digunakan untuk menghilangkan piksel yang tidak merupakan tepi yang tajam. Untuk setiap piksel dalam citra, algoritma memeriksa apakah magnitude gradien piksel tersebut lebih besar daripada magnitude gradien piksel-pixel tetangganya dalam arah gradien. Jika iya, piksel tersebut dipertahankan; jika tidak, piksel tersebut dihilangkan. Ini menghasilkan citra yang hanya berisi tepi tajam.
Histeresis Thresholding: Ini adalah langkah kritis dalam membedakan antara tepi yang penting dan detail lainnya. Algoritma menerapkan dua ambang batas: ambang batas bawah (threshold) dan ambang batas atas. Piksel-piksel yang memiliki magnitude gradien di atas ambang batas atas dianggap sebagai tepi yang kuat, sementara piksel-piksel dengan magnitude gradien di bawah ambang batas bawah diabaikan. Piksel-piksel dengan magnitude gradien di antara kedua ambang batas dapat dianggap sebagai tepi yang lemah.
Histeresis Tracking: Untuk menghubungkan tepi yang kuat menjadi tepi yang panjang dan tajam, algoritma melakukan pelacakan tepi. Ini dilakukan dengan menghubungkan piksel tepi yang kuat dalam citra. Jika piksel tepi lemah berdekatan dengan piksel tepi kuat, mereka akan dianggap sebagai bagian dari tepi yang sama.
Hasil akhir dari algoritma Canny adalah citra yang hanya berisi tepi yang tajam dan relevan dalam citra asli. Tepi yang lemah atau detail lain yang tidak penting diabaikan, sehingga memudahkan analisis lebih lanjut. Algoritma Canny Edge Detection sangat efektif dalam menghasilkan tepi yang tajam dan dapat membantu dalam berbagai aplikasi pengolahan citra, seperti pengenalan objek dan segmentasi
Mengurangi noise dalam gambar dengan menerapkan Gaussian. untuk menghaluskan gambar dan menghilangkan detail kecil yang tidak relevan. Proses penghalusan ini membantu menghasilkan tepi yang lebih jelas dan mengurangi respons tepi palsu terhadap noise.
2. Perhitungan Gradien :
Algoritma menghitung gradien gambar dengan menggunakan operator Sobel atau operator gradien lainnya. Ini mengidentifikasi perubahan tajam dalam intensitas piksel di berbagai arah.
3. Penentuan Ambang :
Untuk membedakan antara tepi yang relevan dan detail yang tidak relevan, algoritma Canny menerapkan ambang ganda (dua ambang). Piksel dengan gradien di atas ambang atas dianggap sebagai tepi kuat, sedangkan piksel dengan gradien di bawah ambang bawah dianggap sebagai tepi lemah atau dihilangkan.
4. Supresi Tepi Lemah (Edge Tracking by Hysteresis):
Piksel yang dianggap tepi kuat tetap dipertahankan, sedangkan piksel tepi lemah yang terhubung ke tepi kuat juga dianggap sebagai tepi. Ini menghindari pemotongan tepi yang sebenarnya oleh ambang atas dan membantu mempertahankan kontinuitas tepi.
Re: Anaysis Contour Segmentation
1. Reduksi Noise (Smoothing):
Langkah pertama adalah mengurangi noise dalam citra. Ini dilakukan dengan menerapkan filter Gaussian ke citra asli. Filter ini membantu menghaluskan citra dan menghilangkan noise yang mungkin mempengaruhi hasil deteksi tepi.
2. Penghitungan Gradient:
Selanjutnya, algoritma ini menghitung gradien citra. Ini dilakukan dengan menerapkan operator Sobel atau operator lainnya untuk mendeteksi perubahan tingkat kecerahan dalam citra. Hasilnya adalah dua citra yang menunjukkan magnitude gradien (kekuatan perubahan tingkat kecerahan) dan arah gradien di setiap titik dalam citra.
3. Non-Maximum Suppression (Pemadaman Tidak Maksimum):
Langkah ini bertujuan untuk menghilangkan tepi yang tidak penting dengan mempertahankan hanya tepi yang tajam. Untuk setiap piksel dalam citra, algoritma memeriksa apakah kekuatan gradien pada piksel tersebut adalah maksimum dalam arah gradien. Jika bukan, piksel ini akan dihapus (dihapus).
4. Hysteresis Thresholding (Pengambangan Ambang Histeresis):
Proses ini melibatkan penggunaan dua ambang (ambang rendah dan ambang tinggi) untuk mengkategorikan tepi menjadi tepi yang lemah dan kuat. Tepi dengan kekuatan gradien di atas ambang tinggi dianggap sebagai tepi kuat, sedangkan tepi dengan kekuatan gradien di antara ambang rendah dan ambang tinggi dianggap sebagai tepi lemah. Tepi lemah akan dipertahankan hanya jika terhubung dengan tepi kuat. Ini membantu menghilangkan noise dan menghubungkan tepi yang relevan.
Hasil dari algoritma Canny Edge Detection adalah citra biner di mana tepi kuat ditandai dengan satu warna (biasanya putih) dan tepi lemah yang terhubung dengan tepi kuat tetap dipertahankan. Ini menciptakan citra dengan tepi yang tajam dan relevan, yang sangat berguna dalam berbagai aplikasi pengolahan citra seperti deteksi objek, pengenalan karakter, dan pengolahan citra medis.
Ini berkaitan dengan langkah-langkah pada proses Canny Edge Detection yaitu : Dengan mengurangi noise, menghitung gradien, melakukan non-maximum suppression, dan menentukan ambang. Canny Edge Detection dapat membedakan tepi yang penting dari detail dan noise lainnya. Hasilnya adalah citra dengan tepi yang tajam yang sering kali merepresentasikan kontur objek yang signifikan dalam gambar. Proses ini memungkinkan pengguna untuk dengan jelas mengidentifikasi dan memisahkan tepi yang penting dari informasi lain dalam gambar.
1. Penghalusan (Smoothing) dengan Filter Gaussian:
Citra pertama kali dihaluskan menggunakan filter Gaussian. Tujuannya adalah mengurangi noise dan membuat citra menjadi lebih mudah diolah. Filter ini membantu mengurangi efek noise pada citra.
2. Perhitungan Gradien Citra:
Operator Sobel atau operator gradien lainnya digunakan untuk menghitung gradien citra dalam arah horizontal (Gx) dan vertikal (Gy). Gradien mengukur perubahan intensitas piksel dan membantu mengidentifikasi perubahan tajam dalam citra.
3. Magnitudo Gradien dan Arah Tepi:
Magnitudo gradien (G) dihitung menggunakan rumus: G = √(Gx^2 + Gy^2).
Arah tepi (θ) dihitung menggunakan rumus: θ = arctan(Gy / Gx).
Hasilnya adalah citra magnitudo gradien dan citra arah tepi.
4. Non-Maximum Suppression:
Tujuan dari langkah ini adalah mempertahankan hanya piksel-piksel yang merupakan tepi terlokalisasi. Dalam hal ini, setiap piksel diuji untuk melihat apakah magnitudo gradiennya merupakan puncak lokal dalam arah arah tepi. Jika tidak, piksel tersebut dihapus (diatur menjadi nol).
5. Ambang Batas (Thresholding):
Dua nilai ambang (ambang atas dan ambang bawah) diterapkan pada citra hasil non-maximum suppression.
Piksel dengan magnitudo gradien di atas ambang atas dianggap sebagai piksel tepi yang kuat.
Piksel dengan magnitudo gradien di antara ambang atas dan ambang bawah dianggap sebagai piksel tepi yang lemah.
Piksel dengan intensitas di bawah ambang bawah dihilangkan.
Tepi yang terbentuk oleh piksel tepi yang kuat dianggap tajam dan relevan, sementara detail kecil yang tidak signifikan dianggap noise dan dihilangkan.
Dengan langkah-langkah ini, Canny Edge Detection dapat menghasilkan tepi yang tajam dan membedakan antara tepi yang penting dalam citra dengan menghilangkan detail-detail yang mungkin tidak relevan atau noise.
REDUKSI NOISE:
Proses ini dimulai dengan mengurangi noise pada gambar. Hal ini biasanya dilakukan dengan menerapkan filter penghalusan, seperti filter Gaussian, untuk memperhalus gambar. Hal ini menghilangkan noise yang memengaruhi pendeteksian tepi.
Deteksi gradien:
Setelah gambar dihaluskan, langkah selanjutnya adalah mendeteksi gradien (perubahan intensitas) pada gambar. Hal ini dilakukan dengan menerapkan operator Sobel dan operator gradien lainnya untuk menghitung gradien vertikal dan horizontal pada gambar.
Menentukan besarnya dan arah gradien:
Setiap piksel pada gambar akan memiliki nilai gradien dalam dua arah (vertikal dan horizontal). Besarnya gradien (magnitude) dihitung sebagai akar kuadrat dari gradien vertikal dan horizontal setiap piksel dan mengukur tingkat perubahan intensitas pada piksel tersebut. Arah gradien dihitung sebagai arctan (atau arctan 2) dari gradien vertikal dan horizontal.
Penggunaan ambang batas ganda:
Canny menggunakan ambang batas ganda untuk mengidentifikasi tepi; ada dua ambang batas: ambang batas atas dan ambang batas bawah. Piksel yang besaran gradiennya melebihi ambang batas atas, secara otomatis dianggap sebagai tepi yang kuat. Piksel dengan besaran gradien di bawah ambang batas bawah dianggap bukan tepi; piksel dengan besaran gradien di antara dua ambang batas adalah piksel ambigu yang memerlukan analisis lebih lanjut.
Deteksi kontur dengan histeresis:
Piksel ambigu (di antara dua ambang batas) dihubungkan ke piksel tepi yang kuat untuk membentuk kontur. Hal ini dilakukan dengan menggunakan teknik histeresis. Jika sebuah piksel berdekatan dengan piksel tepi yang kuat, piksel tersebut dianggap sebagai bagian dari kontur.
Hasil dari proses ini adalah gambar biner di mana hanya tepi yang kuat dan penting yang diidentifikasi sebagai kontur. Hasilnya, tepi dipertajam dan detail kecil yang mungkin tidak relevan dengan gambar dihilangkan.
Dengan menggunakan dual thresholding dan pemrosesan histeresis, Canny Edge Detection dapat membedakan antara tepi yang penting dan detail lain yang kurang penting dalam gambar, memberikan tepi yang tajam dan relevan untuk berbagai aplikasi pemrosesan gambar.
Pengurangan Noise (Penghalusan):
Langkah pertama dalam algoritma Canny adalah mengurangi noise pada gambar. Ini dilakukan untuk meningkatkan kualitas deteksi tepi, menghilangkan gangguan dan detail yang tidak relevan. Biasanya, filter penghalusan Gaussian digunakan untuk memperhalus gambar.
Deteksi Gradien:
Setelah gambar dihaluskan, algoritma Canny mendeteksi gradien atau perubahan intensitas pada gambar. Ini membantu dalam menemukan di mana tepi mungkin terletak. Operator Sobel sering digunakan untuk menghitung gradien vertikal dan horizontal pada setiap piksel dalam gambar.
Menentukan Besaran dan Arah Gradien:
Setiap piksel pada gambar akan memiliki nilai gradien dalam dua arah: vertikal dan horizontal. Besaran gradien (magnitude) dihitung sebagai akar kuadrat dari gradien vertikal dan horizontal pada setiap piksel. Arah gradien dihitung sebagai arctan (atau arctan2) dari gradien vertikal dan horizontal. Ini membantu mengidentifikasi di mana tepi bergerak dalam gambar.
Penggunaan Ambang Batas Ganda:
Canny menggunakan dua ambang batas, yaitu ambang batas atas (high threshold) dan ambang batas bawah (low threshold). Piksel dengan besaran gradien di atas ambang batas atas dianggap sebagai "tepi yang kuat." Piksel dengan besaran gradien di bawah ambang batas bawah dianggap sebagai "bukan tepi." Piksel dengan besaran gradien di antara dua ambang batas adalah "piksel ambigu" yang memerlukan analisis lebih lanjut.
Deteksi Kontur dengan Histeresis:
Untuk menghubungkan piksel ambigu ke piksel tepi yang kuat dan membentuk kontur, Canny menggunakan teknik histeresis. Jika sebuah piksel ambigu berdekatan dengan piksel tepi yang kuat, piksel ambigu tersebut dianggap sebagai bagian dari kontur. Ini membantu menghindari potensi isolasi dari tepi yang sebenarnya.
Hasil dari proses ini adalah gambar biner di mana hanya tepi yang kuat dan penting yang diidentifikasi sebagai kontur. Dengan menggunakan dual thresholding dan pemrosesan histeresis, Canny Edge Detection dapat membedakan antara tepi yang penting dan detail lain yang kurang penting dalam gambar. Akibatnya, tepi dalam gambar diperoleh dengan ketajaman yang tinggi dan relevan untuk berbagai aplikasi pengolahan gambar seperti segmentasi objek, pengenalan pola, dan deteksi fitur.
1. Smoothing dengan Gaussian Filter:
- Langkah pertama adalah mereduksi noise dalam citra dengan menerapkan filter Gaussian. Filter ini mengaburkan citra dan menghaluskan transisi intensitas, yang mengurangi efek noise dan membantu menghasilkan tepi yang lebih tajam.
2. Perhitungan Gradien Magnitude dan Arah:
- Selanjutnya, operator Sobel digunakan untuk menghitung gradien citra. Ini memberikan informasi tentang seberapa cepat intensitas citra berubah di setiap titik. Magnitudo gradien adalah ukuran kekuatan perubahan intensitas, dan arah gradien menunjukkan arah di mana perubahan terjadi.
3. Tanda dan Non-Maximum Suppression:
- Untuk mendapatkan tepi yang tajam, langkah penting ini melibatkan tindakan pemilihan hanya titik-titik yang merupakan puncak lokal di gradien magnitudo dalam arah gradien. Ini berarti hanya tepi tipis yang akan dipertahankan, sedangkan tepi yang lebih lebar akan ditekan.
4. Histeresis Thresholding:
- Ini adalah langkah terakhir dan kunci dalam membedakan antara tepi yang penting dan detail lain yang tidak relevan. Dalam histeresis thresholding, dua ambang digunakan: ambang atas (high threshold) dan ambang bawah (low threshold).
- Piksel dengan gradien magnitudo di atas ambang atas dianggap sebagai tepi kuat dan dijaga.
- Piksel dengan gradien magnitudo di bawah ambang bawah dianggap sebagai tepi lemah, dan mereka dijaga hanya jika terhubung ke piksel tepi kuat.
- Ini memungkinkan hanya tepi yang signifikan dan terkait yang dipertahankan, sementara detail yang tidak relevan diabaikan.
Dengan langkah-langkah ini, algoritma Canny Edge Detection menghasilkan tepi yang tajam dan terkait dengan fitur penting dalam citra, sementara menghilangkan detail yang kurang signifikan atau noise. Hasilnya adalah segmentasi tepi yang akurat dan relevan, yang berguna dalam berbagai aplikasi pemrosesan citra, seperti pengenalan objek dan deteksi fitur.
- Penghitungan Gradien, dengan menghitung gradien dalam arah vertikal (Sobel) dan arah horizontal. Gradien mengukur seberapa cepat intensitas citra berubah di sekitar setiap piksel.
- Penentuan Arah Tepi, menghitung magnitudo gradien (kuatnya perubahan intensitas) dan arah gradien di setiap piksel. Arah gradien digunakan untuk menentukan orientasi tepi.
- Non-maximum Suppression, dengan menghilangkan piksel yang bukan piksel puncak dalam arah gradien. Ini dilakukan dengan membandingkan magnitudo gradien piksel dengan dua tetangga terdekat yang searah dengan arah gradien.
- Ambang Biner (Thresholding), Piksel dengan magnitudo gradien di antara kedua ambang akan dianalisis lebih lanjut dalam langkah berikutnya.
- Penghitungan Gradien, dengan menghitung gradien dalam arah vertikal (Sobel) dan arah horizontal. Gradien mengukur seberapa cepat intensitas citra berubah di sekitar setiap piksel.
- Penentuan Arah Tepi, menghitung magnitudo gradien (kuatnya perubahan intensitas) dan arah gradien di setiap piksel. Arah gradien digunakan untuk menentukan orientasi tepi.
- Non-maximum Suppression, dengan menghilangkan piksel yang bukan piksel puncak dalam arah gradien. Ini dilakukan dengan membandingkan magnitudo gradien piksel dengan dua tetangga terdekat yang searah dengan arah gradien.
- Ambang Biner (Thresholding), Piksel dengan magnitudo gradien di antara kedua ambang akan dianalisis lebih lanjut dalam langkah berikutnya.
- Penghitungan Gradien, dengan menghitung gradien dalam arah vertikal (Sobel) dan arah horizontal. Gradien mengukur seberapa cepat intensitas citra berubah di sekitar setiap piksel.
- Penentuan Arah Tepi, menghitung magnitudo gradien (kuatnya perubahan intensitas) dan arah gradien di setiap piksel. Arah gradien digunakan untuk menentukan orientasi tepi.
- Non-maximum Suppression, dengan menghilangkan piksel yang bukan piksel puncak dalam arah gradien. Ini dilakukan dengan membandingkan magnitudo gradien piksel dengan dua tetangga terdekat yang searah dengan arah gradien.
- Ambang Biner (Thresholding), Piksel dengan magnitudo gradien di antara kedua ambang akan dianalisis lebih lanjut dalam langkah berikutnya.
Reduksi Noise (Smoothing):
Pertama, citra awal melewati proses reduksi noise (glowup atau smoothing) dengan mengaplikasikan filter Gaussian. Tujuannya adalah untuk mengurangi noise yang bisa mempengaruhi deteksi tepi. Operasi ini membuat tepi dalam citra lebih jelas dengan menghaluskan intensitas piksel di sekitar setiap titik.
Penghitungan Gradien:
Setelah citra diredam (smoothed), gradien dihitung dengan menggunakan operator Sobel atau operator gradien lainnya. Ini mengukur perubahan intensitas piksel dalam citra, yang sering kali mengindikasikan lokasi tepi. Gradien dihitung dalam dua arah: vertikal (Gy) dan horizontal (Gx).
Magnitudo Gradien dan Arah Tepi:
Setelah perhitungan gradien, magnitudo gradien (G) dan arah tepi (θ) dihitung. Magnitudo gradien mencerminkan kekuatan perubahan intensitas di suatu titik dalam citra, sementara arah tepi menunjukkan arah di mana perubahan tersebut terjadi.
Penerapan Ambang Batas (Thresholding):
Pada langkah ini, ambang batas (threshold) diterapkan pada magnitudo gradien untuk mengidentifikasi piksel yang mungkin merupakan tepi. Canny menggunakan dua ambang, yaitu ambang atas (upper threshold) dan ambang bawah (lower threshold). Piksel dengan magnitudo gradien di atas ambang atas dianggap pasti sebagai tepi, sementara piksel dengan magnitudo gradien di bawah ambang bawah dianggap bukan tepi.
Pencarian Tepi dengan Histeresis:
Untuk mengidentifikasi tepi yang konsisten dan mengurangi deteksi tepi palsu, algoritma Canny menggunakan teknik histeresis. Ini berarti setiap piksel yang diidentifikasi sebagai tepi di langkah sebelumnya akan dihubungkan dengan piksel tetangganya yang juga di atas ambang bawah. Ini membantu mempertahankan tepi yang konsisten dan menghilangkan tepi yang tidak relevan atau terputus-putus.
Hasil akhir dari proses Canny Edge Detection adalah citra biner di mana hanya tepi yang tajam dan relevan diidentifikasi dengan baik. Ini memungkinkan pemisahan yang jelas antara tepi yang penting dalam citra dengan detail lain yang mungkin tidak relevan. Keseluruhan algoritma Canny berfokus pada keakuratan, ketahanan terhadap noise, dan penonjolan tepi yang tajam dalam citra.
Tepi dalam citra adalah garis atau batas yang memisahkan objek dari latar belakang atau objek lainnya. Canny Edge Detection memiliki kemampuan untuk membedakan tepi yang esensial dalam citra dari detail-detail lain yang mungkin kurang relevan. Ini dicapai melalui serangkaian proses yang mencakup penemuan gradien (perubahan tajam dalam intensitas piksel), diikuti oleh non-maximum suppression, yang bertujuan untuk mencari titik-titik puncak dalam arah gradien. Dengan cara ini, hanya piksel-piksel yang memiliki keterkaitan yang kuat dengan tepi, sesuai dengan arah gradien yang terdeteksi, akan dianggap sebagai tepi. Langkah ini membantu menghilangkan detail-detail yang tidak relevan dalam citra, sehingga memungkinkan Canny Edge Detection untuk mengidentifikasi tepi yang benar-benar penting dan mengabaikan elemen-elemen lain yang kurang signifikan. Sebagai hasilnya, proses Canny Edge Detection mampu secara efektif membedakan antara tepi yang penting dan elemen-elemen detail yang tidak relevan dalam citra.
152021035
Algoritma Canny Edge Detection dapat digunakan untuk menghasilkan tepi yang tajam dalam citra dengan cara berikut:
- Pertama, algoritma ini menghapus noise atau derau dalam citra menggunakan filter Gaussian. Noise dapat mengganggu proses deteksi tepi dan menghasilkan tepi palsu. Filter Gaussian dapat menghaluskan citra dengan cara mengganti nilai intensitas setiap piksel dengan nilai rata-rata dari piksel-piksel tetangganya¹.
- Kedua, algoritma ini menghitung gradien intensitas citra menggunakan filter Sobel. Gradien intensitas adalah ukuran perubahan intensitas piksel dari satu titik ke titik lainnya. Filter Sobel dapat menghitung gradien intensitas dalam arah horizontal dan vertikal dengan cara menerapkan kernel atau matriks tertentu pada setiap piksel². Dari gradien intensitas, algoritma ini dapat menentukan besar dan arah tepi untuk setiap piksel.
- Ketiga, algoritma ini menerapkan penekanan non-maksimum atau non-maximum suppression (NMS) untuk menghilangkan respon palsu terhadap deteksi tepi. NMS adalah proses untuk memeriksa apakah setiap piksel merupakan maksimum lokal dalam lingkungan sekitarnya dalam arah gradien. Jika ya, maka piksel tersebut dipertahankan sebagai bagian dari tepi. Jika tidak, maka piksel tersebut dihapus atau disetel menjadi nol³. Hasilnya adalah citra biner dengan tepi yang tipis.
- Keempat, algoritma ini menerapkan ambang ganda atau double threshold untuk menentukan tepi potensial. Ambang ganda menggunakan dua nilai ambang, yaitu minVal dan maxVal. Setiap piksel yang memiliki gradien intensitas lebih besar dari maxVal dipastikan sebagai tepi dan disebut sebagai tepi kuat. Setiap piksel yang memiliki gradien intensitas lebih kecil dari minVal dipastikan bukan tepi dan diabaikan. Setiap piksel yang memiliki gradien intensitas di antara minVal dan maxVal dipertimbangkan sebagai tepi jika terhubung dengan tepi kuat dan disebut sebagai tepi lemah⁴. Hal ini dilakukan untuk menghindari terputusnya tepi yang sebenarnya karena noise atau variasi intensitas.
- Kelima, algoritma ini melacak tepi dengan histeresis atau edge tracking by hysteresis untuk menyelesaikan deteksi tepi dengan cara menekan semua tepi lemah yang tidak terhubung dengan tepi kuat⁴. Hal ini dilakukan untuk menghilangkan noise atau detail lainnya yang mungkin tidak relevan sebagai tepi.
Dengan cara-cara tersebut, algoritma Canny Edge Detection dapat menghasilkan tepi yang tajam dalam citra sehingga dapat membedakan antara tepi yang penting dalam citra dan detail lainnya yang mungkin tidak relevan.
1. Reduksi Noise / pengurangan noise
mengurangi noise dalam citra. Citra yang diambil dari dunia nyata seringkali memiliki gangguan noise yang dapat menghasilkan tepi palsu. Untuk mengatasi ini, kita menerapkan filter Gaussian untuk meratakan intensitas piksel, sehingga detail kecil yang tidak relevan dapat diminimalkan.
2. Penghitungan Gradien
Setelah mengurangi noise, lalu menghitung gradien citra. ini membantu dalam mendeteksi di mana perubahan intensitas yang signifikan terjadi dalam citra. Operator seperti Sobel digunakan untuk mengukur arah dan magnitudo gradien pada setiap piksel.
3. Magnitudo Gradien
Selanjutnya, kita mengukur magnitudo gradien pada setiap piksel. Magnitudo gradien mengindikasikan sejauh mana intensitas berubah, membantu kita mengidentifikasi di mana tepi yang kuat terletak dalam citra.
4. Deteksi Tepi Non-Maksimum
untuk menggarisbawahi tepi dengan menghilangkan piksel yang bukan tepi. Untuk setiap piksel dalam citra, kita membandingkan magnitudo gradiennya dengan piksel-piksel tetangga dalam arah gradien. Jika magnitudo gradien pada piksel tersebut adalah maksimum dalam arah tersebut, maka piksel tersebut tetap; kalau engga maka dianggap bukan tepi.
5. Hysteresis Thresholding
Dalam langkah ini, menggunakan dua ambang batas yaitu ambang batas tinggi dan ambang batas rendah. Piksel dengan magnitudo gradien di atas ambang batas tinggi dianggap sebagai tepi yang kuat, sementara yang di bawah ambang batas rendah dianggap bukan tepi. tapi piksel yang memiliki magnitudo gradien diantara kedua ambang batas bakal dianggap sebagai tepi jika terhubung dengan piksel tepi yang kuat.
jadi algoritma Canny adalah citra dengan tepi yang tajam yang mempertahankan tepi yang signifikan sementara menghilangkan detail yang kurang relevan. Algoritma ini digunakan secara luas dalam berbagai pemrosesan citra, deteksi objek, dan segmentasi citra.
1. Smoothing (Penghalusan)
tahap awal yang dilakuakan adalah penghalusan pada citra dengan menggunakan filter Gaussian untuk mengurangi noise. Tahap ini membantu dalam menghilangkan pixel pixel yang tidak relevan dengan object dan mempertahankan tepi yang lebih besar.
2. Finding Gradient
Kemudian, gradien citra dihitung dengan menggunakan metode Sobel atau Prewitt.
3. Non-Maximum Suppression
Tahapan ini bertujuan untuk mempertahankan tepi yang tajam dan menghapus piksel tepi yang tidak relevan. Konsep Non-Maximum Suppression adalah menghapus piksel tepi yang bukan merupakan nilai maksimum dalam arah gradien
4. Hysteresis Thresholding (Pemberian Ambang Histeresis)
Hysteresis thresholding melibatkan penerapan dua ambang (threshold), yaitu ambang bawah (low threshold) dan ambang atas (high threshold). Piksel yang memiliki nilai gradien di atas ambang atas dianggap sebagai piksel tepi yang kuat. Piksel yang memiliki nilai gradien di bawah ambang bawah dianggap sebagai piksel non-tepi. Namun, piksel yang memiliki nilai gradien antara ambang atas dan ambang bawah akan dianggap sebagai piksel tepi yang lemah hanya jika terhubung dengan piksel tepi yang kuat.
5. Deteksi Tepi Terhubung
Hasil dari langkah-langkah sebelumnya adalah citra dengan tepi yang tajam yang dihasilkan dari proses Canny Edge Detection. Tahapan ini membantu membedakan antara tepi yang penting dalam citra dan detail lainnya yang mungkin tidak relevan dengan menghilangkan noise dan mendeteksi hanya tepi yang signifikan.
Algoritma Canny Edge Detection menghasilkan tepi yang tajam dalam citra dengan cara:
1. Penghalusan: Mengurangi noise dan detail halus dengan filter Gauss.
2. Gradien Magnitude: Menghitung gradien citra untuk menentukan tepi.
3. Non-Maximum Suppression: Hanya mempertahankan piksel dengan gradien tertinggi di sepanjang tepi.
4. Hysteresis Thresholding: Memisahkan tepi jelas (di atas threshold tinggi) dari tepi kurang tajam atau noise (antara threshold tinggi dan rendah).
Algoritma Canny Edge Detection membedakan tepi penting dengan cara memprioritaskan piksel dengan gradien tertinggi dan menghapus detail yang kurang signifikan atau noise. Dengan pendekatan ini, algoritma menghasilkan tepi yang tajam, membantu identifikasi objek dan fitur penting dalam citra dengan lebih akurat.
1. Reduksi Noise:
Langkah pertama dalam Canny Edge Detection adalah mengurangi noise dalam citra.
2. Perhitungan Gradient:
Setelah mereduksi noise, algoritma Canny menghitung gradien citra. Gradien ini memberikan arah dan kekuatan perubahan intensitas piksel
3. Perhitungan Magnitude dan Arah Gradien:
Setelah menghitung Gx dan Gy, magnitudo gradien (G) dihitung dengan menggunakan rumus Pythagoras:
G = sqrt(Gx^2 + Gy^2)
4. Non-maximum Suppression:
Langkah ini bertujuan untuk menghilangkan piksel yang bukan merupakan tepi tajam.
5. Hysteresis Thresholding:
Tahap terakhir dalam Canny Edge Detection adalah penerapan hysteresis thresholding.
Langkah - langkah :
1. Smoothing : . Ini dilakukan dengan menerapkan filter Gaussian pada citra. Filter ini akan menghaluskan citra dan menghilangkan noise yang mungkin mengganggu deteksi tepi.
2. Perhitungan Gradien citra : Gradien mengukur perubahan intensitas piksel, yang sangat penting untuk mendeteksi tepi. bida menggunakan operator sobel atau gradien lainnya
3. Penyaring Non-Maksismum : Untuk menghasilkan tepi yang tajam setiap piksel diuji untuk memeriksa apakah itu adalah piksel dengan gradien maksimum dalam arah tertentu. Piksel yang tidak memiliki gradien maksimum dihilangkan, sehingga hanya tepi yang tajam dipertahankan.
4. Thresholding : digunakan untuk memisahkan piksel yang memiliki gradien yang cukup tinggi (tepi) dari yang memiliki gradien rendah (detail lain yang tidak relevan).
5. Edge Tracking by Hysteresis : Untuk mengatasi masalah sebagian tepi, proses penyatuan tepi digunakan. Ini melibatkan menghubungkan piksel tepi kuat yang terhubung, sehingga garis tepi yang lengkap dapat dibentuk. Ini membantu memisahkan tepi yang penting dari detail yang tidak relevan.
Berikut adalah langkah-langkah pada proses Canny Edge Detection :
1. Reduksi Noise (Smoothing)
2. Perhitungan Gradien Intensitas
3. Non-Maximum Suppression
4. Hysteresis Thresholding
1. Smoothing menggunakan gaussian untuk mengurangi noise
2. Gradien, yaitu untuk menghitung gradien
3. Non maximum surpression, untuk pemeriksaan piksel
4. tresholding, untuk menghitung ambang atas dan bawah
5. Hysterisis trehsolding, mengecek piksel dengan piksel tetangganya
1. Reduksi Noise (Smothing) : penerapan filter gaussian, hal ini bertujuan untuk membantu menghaluskan citra dan menghilangkan noise tingkat rendah yang dapat mempengaruhi deteksi tepi. Hasilnya adalah gambar yang lebih bersih dan lebih mudah dianalisis.
2. Mencari Gradien Citra : Dalam mencari gradien citra menggunakan kernel Sobel digunakan untuk menghitung gradien vertikal dan horizontal dari citra. Ini mengidentifikasi di mana perubahan tingkat kecerahan yang tajam terjadi dalam citra. Hasilnya adalah dua citra gradien, satu untuk komponen X (horizontal) dan satu untuk komponen Y (vertikal).
3. Menghitung Magnitudo Gradien : Menggunakan dua citra gradien yang dihasilkan, kita dapat menghitung magnitudo gradien di setiap titik dalam citra. Ini dilakukan dengan menggabungkan komponen X dan Y gradien menggunakan rumus Pythagoras: magnitude = sqrt(Gx^2 + Gy^2).
4. Pencarian Arah Gradien:
Selain menghitung magnitudo gradien, kita juga mencari arah gradien pada setiap titik dalam citra. Ini berguna untuk menentukan orientasi tepi pada setiap lokasi. Arah gradien dihitung dengan rumus trigonometri: angle = atan2(Gy, Gx). Hasilnya adalah citra arah gradien yang menggambarkan orientasi tepi di setiap titik.
5. Non-Maximum Suppression : Untuk menghasilkan tepi yang tajam, Canny melakukan operasi yang disebut "non-maximum suppression." Pada langkah ini, setiap titik di citra magnitudo gradien dievaluasi untuk menentukan apakah itu merupakan puncak (nilai maksimum) dalam arah gradien. Jika tidak, nilai magnitudo gradien diubah menjadi nol, menghilangkan piksel yang bukan bagian dari tepi yang tajam.
6. Histeresis Thresholding : Terakhir, untuk membedakan tepi yang penting dari detail lain yang mungkin tidak relevan, Canny Edge Detection menggunakan metode histeresis thresholding. Ini melibatkan penggunaan dua ambang, yaitu ambang batas tinggi dan rendah. Piksel dengan magnitudo gradien di atas ambang tinggi dianggap sebagai tepi yang kuat. Piksel yang berada antara ambang tinggi dan rendah akan dianggap sebagai tepi yang lemah jika terhubung dengan tepi yang kuat; jika tidak, mereka diabaikan.
Pra-pemrosesan Citra:
Langkah pertama adalah memuat citra asli yang akan diproses.
Jika citra berwarna, maka perlu mengonversinya menjadi citra grayscale, karena deteksi tepi lebih mudah dilakukan pada citra grayscale.
Reduksi Noise (Pengurangan Noise):
Gunakan filter Gaussian untuk mengurangi noise dalam citra. Filter ini membantu menyaring gangguan kecil dalam citra yang dapat memengaruhi deteksi tepi.
Perhitungan Gradien Citra:
Hitung gradien citra untuk menentukan di mana perubahan intensitas terjadi yang menandakan adanya tepi. Ini dapat dilakukan dengan menggunakan operator Sobel atau operator lainnya.
Setiap piksel dalam citra akan memiliki magnitude gradien (kuatnya) dan arah gradien.
Pemilihan Tepi:
Terapkan non-maximum suppression. Langkah ini melibatkan pemadaman (suppression) piksel yang bukan piksel tepi yang paling kuat dalam sekitarnya. Ini dilakukan dengan membandingkan magnitudo gradien di setiap piksel dengan piksel tetangganya dalam arah gradien.
Hasilnya adalah citra biner yang hanya berisi piksel tepi yang telah dipertahankan.
Hysteresis Thresholding (Pengambangan Ambang Histeresis):
Tentukan dua ambang (threshold) - ambang tinggi (high threshold) dan ambang rendah (low threshold).
Gunakan ambang tinggi untuk mengidentifikasi piksel-piksel yang sangat kuat sebagai piksel tepi yang pasti.
Gunakan ambang rendah untuk mengidentifikasi piksel-piksel yang lebih lemah sebagai piksel tepi yang potensial.
Kemudian, terapkan algoritma pengambangan ambang (thresholding) dengan menghubungkan piksel tepi potensial ke piksel tepi yang pasti dengan berjalan melalui tetangganya.
Hasilnya adalah citra biner yang berisi piksel tepi yang sudah dikonfirmasi.
2. Finding gradient -> Memperoleh tepi dari objek
3. Non maximum supression -> Mengeliminasi pixel irrelevan yang mungkin bukan sebuah tepi (menipiskan tepi)
4. Hysterisis Thresholding -> Penentuan tepi dengan melihat koneksi-koneksi pixel dengan pixel yang sudah pasti tepi
1. Smoothing (Penghalusan): Langkah pertama dalam algoritma Canny adalah mengurangi noise dalam citra dengan menerapkan filter Gaussian
2. Perhitungan Gradien: Setelah penghalusan, kita menghitung gradien citra untuk mengidentifikasi di mana perubahan tajam terjadi.
3. Penghilangan Tepi Lemah (Non-maximum Suppression): Langkah ini membantu menyaring tepi yang relevan dari tepi yang lemah.
4. Histeresis Thresholding: Histeresis thresholding digunakan untuk menghilangkan tepi palsu. Dalam langkah ini, dua nilai ambang digunakan: ambang atas (high threshold) dan ambang bawah (low threshold).
5. Deteksi Tepi Akhir (Edge Tracking by Hysteresis): Dalam langkah ini, kita menghubungkan piksel-piksel tepi yang lemah ke tepi yang kuat untuk membentuk tepi yang kontinu.
1. Smoothing dengan Gaussian Filter:
Langkah pertama adalah mereduksi noise dalam citra dengan menerapkan filter Gaussian. Filter ini mengaburkan citra dan menghaluskan transisi intensitas, yang mengurangi efek noise dan membantu menghasilkan tepi yang lebih tajam.
2. Perhitungan Gradien Magnitude dan Arah:
Selanjutnya, operator Sobel digunakan untuk menghitung gradien citra. Ini memberikan informasi tentang seberapa cepat intensitas citra berubah di setiap titik. Magnitudo gradien adalah ukuran kekuatan perubahan intensitas, dan arah gradien menunjukkan arah di mana perubahan terjadi.
3. Tanda dan Non-Maximum Suppression:
Untuk mendapatkan tepi yang tajam, langkah penting ini melibatkan tindakan pemilihan hanya titik-titik yang merupakan puncak lokal di gradien magnitudo dalam arah gradien. Ini berarti hanya tepi tipis yang akan dipertahankan, sedangkan tepi yang lebih lebar akan ditekan.
4. Histeresis Thresholding:
Ini adalah langkah terakhir dan kunci dalam membedakan antara tepi yang penting dan detail lain yang tidak relevan. Dalam histeresis thresholding, dua ambang digunakan: ambang atas (high threshold) dan ambang bawah (low threshold).
Piksel dengan gradien magnitudo di atas ambang atas dianggap sebagai tepi kuat dan dijaga.
Piksel dengan gradien magnitudo di bawah ambang bawah dianggap sebagai tepi lemah, dan mereka dijaga hanya jika terhubung ke piksel tepi kuat.
Ini memungkinkan hanya tepi yang signifikan dan terkait yang dipertahankan, sementara detail yang tidak relevan diabaikan.
Hasilnya adalah segmentasi tepi yang akurat dan relevan, yang berguna dalam berbagai aplikasi pemrosesan citra, seperti pengenalan objek dan deteksi fitur.