{"id":48,"date":"2026-05-06T08:12:32","date_gmt":"2026-05-06T08:12:32","guid":{"rendered":"https:\/\/ardheefy.dooha.id\/?p=48"},"modified":"2026-05-06T08:13:07","modified_gmt":"2026-05-06T08:13:07","slug":"thresholding-binerisasi-dengan-python","status":"publish","type":"post","link":"https:\/\/ardheefy.dsign.id\/?p=48","title":{"rendered":"Thresholding (Binerisasi) dengan Python"},"content":{"rendered":"\n<h2 class=\"wp-block-heading\"><strong>&#x1f9e0; Pengertian Thresholding dalam Computer Vision<\/strong><\/h2>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Apa itu Binerisasi Gambar<\/strong><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Thresholding atau binerisasi adalah teknik dalam computer vision untuk mengubah gambar grayscale menjadi gambar biner (hitam dan putih). Setiap piksel akan dikonversi menjadi dua nilai: 0 (hitam) atau 255 (putih).<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Perbedaan Grayscale dan Binary Image<\/strong><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Grayscale: memiliki banyak tingkat intensitas (0\u2013255)<\/li>\n\n\n\n<li>Binary: hanya dua nilai (0 dan 255)<\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>&#x26a1; Mengapa Thresholding Penting<\/strong><\/h2>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Segmentasi Gambar<\/strong><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Thresholding membantu memisahkan objek dari background, sehingga memudahkan analisis lanjutan.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Penyederhanaan Data<\/strong><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Dengan hanya dua nilai piksel, komputasi menjadi jauh lebih cepat dan efisien.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>&#x1f50d; Jenis-Jenis Thresholding<\/strong><\/h2>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Thresholding Global<\/strong><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Menggunakan satu nilai threshold untuk seluruh gambar.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Thresholding Adaptive<\/strong><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Nilai threshold ditentukan berdasarkan area lokal gambar.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Otsu Thresholding<\/strong><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Metode otomatis untuk menentukan threshold terbaik berdasarkan histogram.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>&#x1f6e0;&#xfe0f; Cara Kerja Thresholding (Binerisasi) dengan Python<\/strong><\/h2>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Instalasi OpenCV<\/strong><\/p>\n\n\n\n<pre class=\"wp-block-code\"><code><\/code><\/pre>\n\n\n\n<div class=\"hcb_wrap\"><pre class=\"prism line-numbers lang-plain\"><code>pip install opencv-python<\/code><\/pre><\/div>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Contoh Kode Thresholding Global<\/strong><\/p>\n\n\n\n<pre class=\"wp-block-code\"><code><\/code><\/pre>\n\n\n\n<div class=\"hcb_wrap\"><pre class=\"prism line-numbers lang-plain\"><code>import cv2\n\nimage = cv2.imread(&#39;gambar.jpg&#39;, 0)\n\n# Thresholding global\n_, thresh = cv2.threshold(image, 127, 255, cv2.THRESH_BINARY)\n\ncv2.imwrite(&#39;binary.jpg&#39;, thresh)<\/code><\/pre><\/div>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>&#x2699;&#xfe0f; Implementasi Adaptive Thresholding<\/strong><\/h2>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Mean Thresholding<\/strong><\/p>\n\n\n\n<pre class=\"wp-block-code\"><code><\/code><\/pre>\n\n\n\n<div class=\"hcb_wrap\"><pre class=\"prism line-numbers lang-plain\"><code>thresh_mean = cv2.adaptiveThreshold(\n    image, 255,\n    cv2.ADAPTIVE_THRESH_MEAN_C,\n    cv2.THRESH_BINARY,\n    11, 2\n)<\/code><\/pre><\/div>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Gaussian Thresholding<\/strong><\/p>\n\n\n\n<pre class=\"wp-block-code\"><code><\/code><\/pre>\n\n\n\n<div class=\"hcb_wrap\"><pre class=\"prism line-numbers lang-plain\"><code>thresh_gaussian = cv2.adaptiveThreshold(\n    image, 255,\n    cv2.ADAPTIVE_THRESH_GAUSSIAN_C,\n    cv2.THRESH_BINARY,\n    11, 2\n)<\/code><\/pre><\/div>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>&#x1f9ea; Otsu Thresholding dalam Python<\/strong><\/h2>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Konsep Otsu<\/strong><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Otsu secara otomatis menentukan nilai threshold dengan memaksimalkan variansi antar kelas (foreground dan background).<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Contoh Kode<\/strong><\/p>\n\n\n\n<pre class=\"wp-block-code\"><code><\/code><\/pre>\n\n\n\n<div class=\"hcb_wrap\"><pre class=\"prism line-numbers lang-plain\"><code>_, otsu = cv2.threshold(\n    image, 0, 255,\n    cv2.THRESH_BINARY + cv2.THRESH_OTSU\n)<\/code><\/pre><\/div>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>&#x1f4d0; Penjelasan Parameter Threshold<\/strong><\/h2>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Nilai Threshold<\/strong><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Nilai batas untuk menentukan apakah piksel menjadi hitam atau putih.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Max Value<\/strong><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Nilai maksimum yang diberikan pada piksel yang melebihi threshold (biasanya 255).<\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>&#x1f680; Tips Optimasi Thresholding<\/strong><\/h2>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Preprocessing dengan Blur<\/strong><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Gunakan Gaussian Blur untuk mengurangi noise sebelum thresholding.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code><\/code><\/pre>\n\n\n\n<div class=\"hcb_wrap\"><pre class=\"prism line-numbers lang-plain\"><code>blur = cv2.GaussianBlur(image, (5,5), 0)<\/code><\/pre><\/div>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Pilih Metode yang Tepat<\/strong><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Global \u2192 pencahayaan stabil<\/li>\n\n\n\n<li>Adaptive \u2192 pencahayaan tidak merata<\/li>\n\n\n\n<li>Otsu \u2192 otomatis<\/li>\n<\/ul>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>&#x26a0;&#xfe0f; Kesalahan Umum<\/strong><\/h2>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Tidak menggunakan grayscale terlebih dahulu<\/li>\n\n\n\n<li>Threshold terlalu tinggi atau rendah<\/li>\n\n\n\n<li>Mengabaikan noise pada gambar<\/li>\n\n\n\n<li>Salah memilih metode thresholding<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\"><\/p>\n","protected":false},"excerpt":{"rendered":"<p>&#x1f9e0; Pengertian Thresholding dalam Computer Vision Apa itu Binerisasi Gambar Thresholding atau binerisasi adalah teknik dalam computer vision untuk mengubah gambar grayscale menjadi gambar biner (hitam dan putih). Setiap piksel akan dikonversi menjadi dua nilai: 0 (hitam) atau 255 (putih). Perbedaan Grayscale dan Binary Image &#x26a1; Mengapa Thresholding Penting Segmentasi Gambar Thresholding membantu memisahkan objek dari background, sehingga memudahkan analisis lanjutan. Penyederhanaan Data Dengan hanya dua nilai piksel, komputasi menjadi jauh lebih cepat dan efisien. &#x1f50d; Jenis-Jenis Thresholding Thresholding Global Menggunakan satu nilai threshold untuk seluruh gambar. Thresholding Adaptive Nilai threshold ditentukan berdasarkan area lokal gambar. Otsu Thresholding Metode otomatis untuk menentukan threshold terbaik berdasarkan histogram. &#x1f6e0;&#xfe0f; Cara Kerja Thresholding (Binerisasi) dengan Python Instalasi OpenCV Contoh Kode Thresholding Global &#x2699;&#xfe0f; Implementasi Adaptive Thresholding Mean Thresholding Gaussian Thresholding &#x1f9ea; Otsu Thresholding dalam Python Konsep Otsu Otsu secara otomatis menentukan nilai threshold dengan memaksimalkan variansi antar kelas (foreground dan background). Contoh Kode &#x1f4d0; Penjelasan Parameter Threshold Nilai Threshold Nilai batas untuk menentukan apakah piksel menjadi hitam atau putih. Max Value Nilai maksimum yang diberikan pada piksel yang melebihi threshold (biasanya 255). &#x1f680; Tips Optimasi Thresholding Preprocessing dengan Blur Gunakan Gaussian Blur untuk mengurangi noise sebelum thresholding. Pilih Metode yang Tepat &#x26a0;&#xfe0f; Kesalahan Umum<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[1],"tags":[],"class_list":["post-48","post","type-post","status-publish","format-standard","hentry","category-python"],"_links":{"self":[{"href":"https:\/\/ardheefy.dsign.id\/index.php?rest_route=\/wp\/v2\/posts\/48","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/ardheefy.dsign.id\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/ardheefy.dsign.id\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/ardheefy.dsign.id\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/ardheefy.dsign.id\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=48"}],"version-history":[{"count":2,"href":"https:\/\/ardheefy.dsign.id\/index.php?rest_route=\/wp\/v2\/posts\/48\/revisions"}],"predecessor-version":[{"id":50,"href":"https:\/\/ardheefy.dsign.id\/index.php?rest_route=\/wp\/v2\/posts\/48\/revisions\/50"}],"wp:attachment":[{"href":"https:\/\/ardheefy.dsign.id\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=48"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/ardheefy.dsign.id\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=48"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/ardheefy.dsign.id\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=48"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}