Mulai dengan thresholding

Pemrosesan Citra dengan Python

Rebeca Gonzalez

Data Engineer

Thresholding

Membagi citra menjadi latar depan dan latar belakang

Dengan menjadikannya hitam-putih

Kita set tiap piksel menjadi:

  • 255 (putih) jika piksel $\gt$ nilai ambang
  • 0 (hitam) jika piksel $\lt$ nilai ambang

Citra thresholding pria dengan kamera

Pemrosesan Citra dengan Python

Thresholding

Metode segmentasi citra paling sederhana

  • Mengisolasi objek
    • Deteksi objek
    • Deteksi wajah
    • Dll.

Citra thresholding keping domino

Pemrosesan Citra dengan Python

Thresholding

Hanya dari citra grayscale

Langkah men-threshold citra, ditunjukkan dengan keping domino. Pertama RGB (3 kanal), lalu grayscale, lalu di-threshold

Pemrosesan Citra dengan Python

Terapkan

# Obtain the optimal threshold value
thresh = 127

# Apply thresholding to the image binary = image > thresh
# Show the original and thresholded show_image(image, 'Original') show_image(binary, 'Thresholded')

Citra thresholding pria dengan kamera

Pemrosesan Citra dengan Python

Thresholding terbalik

# Obtain the optimal threshold value
thresh = 127

# Apply thresholding to the image inverted_binary = image <= thresh
# Show the original and thresholded show_image(image, 'Original') show_image(inverted_binary, 'Inverted thresholded')

Citra thresholding terbalik dari pria dengan kamera

Pemrosesan Citra dengan Python

Kategori

  • Global atau berbasis histogram: cocok untuk latar seragam

  • Lokal atau adaptif: untuk pencahayaan latar tidak merata

Perbandingan thresholding global dan lokal

Pemrosesan Citra dengan Python

Coba lebih banyak algoritme thresholding

from skimage.filters import try_all_threshold

# Obtain all the resulting images fig, ax = try_all_threshold(image, verbose=False)
# Showing resulting plots show_plot(fig, ax)
Pemrosesan Citra dengan Python

Coba lebih banyak algoritme thresholding

Semua metode thresholding global diuji pada citra skala abu-abu halaman teks

Pemrosesan Citra dengan Python

Nilai ambang optimal

Global

Latar seragam
# Import the otsu threshold function
from skimage.filters import threshold_otsu

# Obtain the optimal threshold value thresh = threshold_otsu(image)
# Apply thresholding to the image binary_global = image > thresh
Pemrosesan Citra dengan Python

Nilai ambang optimal

Global

# Show the original and binarized image
show_image(image, 'Original')
show_image(binary_global, 'Global thresholding')

Citra asli pria dengan kamera, citra ini di-threshold, dan histogramnya dengan garis merah menunjukkan nilai ambang optimal

Pemrosesan Citra dengan Python

Nilai ambang optimal

Lokal

Latar tidak merata
# Import the local threshold function
from skimage.filters import threshold_local

# Set the block size to 35 block_size = 35
# Obtain the optimal local thresholding local_thresh = threshold_local(text_image, block_size, offset=10)
# Apply local thresholding and obtain the binary image binary_local = text_image > local_thresh
Pemrosesan Citra dengan Python

Nilai ambang optimal

Lokal

# Show the original and binarized image
show_image(text_image, 'Original')
show_image(binary_local, 'Local thresholding')

Citra halaman teks dengan threshold lokal

Pemrosesan Citra dengan Python

Ayo berlatih!

Pemrosesan Citra dengan Python

Preparing Video For Download...