Saya baru saja mulai dengan pemrosesan gambar dan mengambil kursus yang terkait di sekolah pascasarjana. Tetapi saya sudah memiliki proyek yang harus dilakukan tanpa terlalu banyak informasi tentang subjek, namun saya telah membuat beberapa kemajuan yang mantap. Saya mencoba untuk mengelompokkan pil dari latar belakang masing-masing. Untuk gambar dengan latar belakang yang kontras, saya dapat mengelompokkan pil menggunakan metode Otsu. Berkenaan dengan gambar dengan latar belakang yang serupa, metode Otsu tidak berfungsi. Saya telah membaca beberapa makalah tentang segmentasi, tetapi sebagian besar makalah yang saya baca menggunakan nilai ambang batas manual tergantung pada jenis gambar. Apakah mungkin untuk mendeteksi nilai ambang yang benar dan secara otomatis membatasi gambar dan menggunakan teknik seperti penanaman benih atau pengelompokan untuk mensegmentasi gambar?
Ruang warna yang saya gunakan adalah L a b *, jadi saya menghargai jika Anda bisa merekomendasikan ruang warna yang sesuai yang harus saya gunakan juga.
Gambar yang dimaksud:
asli 1
hasil 1
asli 2
hasil 2
asli 3
hasil 3
sumber
Jawaban:
Jika Anda ingin menggunakan pendekatan thresholding, Anda harus menggunakan metode thresholding adaptif jika ada variasi pencahayaan besar seperti pada contoh gambar ke-3 ( pertanyaan dsp di sini ).
Selain itu, Anda harus bereksperimen dengan ruang warna, mudah: skrip untuk menguraikan gambar menjadi ruang warna yang berbeda tidak boleh lebih dari beberapa baris, dan banyak pemirsa gambar memiliki opsi yang tersedia. Yang terbaik harus mudah ditentukan secara visual. Jika Anda ingin membaca tentang colorspaces, ada pertanyaan dsp baik lain di sini .
Terakhir, Anda mungkin ingin mencoba pendekatan lain. Satu ide adalah melakukan segmentasi yang tidak sempurna, kemudian deteksi tepi , dan akhirnya menggunakan sesuatu seperti transformasi Hough untuk lingkaran yang juga berfungsi dengan baik pada lengkungan lingkaran (tidak lengkap). (Ide ini tentu saja hanya berlaku untuk pil bulat)
sumber
Transformasi lingkaran hough dari perpustakaan OpenCV sangat cocok untuk aplikasi ini. Anda harus menjalankan sejumlah jari-jari tetapi respons terbaik yang hough akan memberi Anda batas dan pusat pil. Perhatikan bahwa Anda harus menggunakan transformasi hough umum untuk menemukan pil non-bundar. Ini akan bekerja bahkan jika pil telah menyumbat atau kehilangan titik tepi.
Ambang batas mungkin merupakan solusi yang buruk untuk ini karena di lapangan Anda mungkin jatuh ke situasi di mana tidak ada ambang batas akan memisahkan pil dari latar belakang, itulah sebabnya mengapa algoritma yang tergantung pada posisi relatif dari kelompok tepi lebih unggul.
sumber
Untuk mengatasi masalah ini, Anda perlu memisahkan latar belakang dan latar depan. Ini solusinya, saya usulkan:
1) mengkonversi gambar dari Rgb ke skala abu-abu; Anda akan mendapatkan gambar yang kami sebut
I1
;2) menerapkan filter morfologis, erosi menggunakan radius besar, akhirnya beberapa kali ==> Anda harus menghapus pil dengan erosi dan hanya mendapatkan latar belakang; Anda akan mendapatkan gambar baru
I2
;3) kurangi
I2
untukI1
, Anda akan mendapatkan foreground yaitu pil;4) menerapkan filter morfologis lain untuk mengisi lubang pada pil yang Anda dapatkan;
5) menerapkan filter morfologi, erosi, radius kecil untuk menghilangkan piksel yang terisolasi.
Metode ini tidak memerlukan ambang batas, deteksi bentuk, segmentasi warna atau apa pun.
sumber