Teman saya memiliki gambar berwarna dengan tulisan tangan Cina (pada dasarnya dengan mengambil foto atau memindai apa yang ditulisnya di selembar kertas putih), dan dia ingin saya mengubahnya menjadi gambar biner hitam dan putih. Apakah ada aplikasi di bawah Ubuntu yang dapat mencapai itu?
Berikut adalah contoh gambar:
Jawaban:
Apa yang Anda inginkan disebut sebagai "ambang" dalam pemrosesan gambar. Pada dasarnya, dibutuhkan gambar sebagai input dan output gambar yang memiliki semua piksel dengan nilai di bawah ambang batas yang ditetapkan menjadi hitam, dan semua piksel nilai yang di atas ambang batas diatur ke putih. Ini menghasilkan gambar hitam-putih dari gambar input sewenang-wenang.
Secara umum, Anda ingin mengonversi ke skala abu-abu terlebih dahulu untuk hasil yang lebih mudah diprediksi, tetapi dimungkinkan juga untuk mengirik gambar penuh warna.
Anda dapat menggunakan alat grafis seperti GIMP untuk melakukan ini secara interaktif (Anda akan menemukan alat melalui menu utama -> Warna -> Ambang Batas), atau Anda dapat menggunakan ImageMagick seperti ini:
Menjalankan perintah di atas pada contoh gambar menghasilkan hasil yang ditunjukkan di bawah ini.
Karena thresholding seringkali merupakan proses coba-coba untuk mendapatkan hasil yang Anda sukai, terutama jika gambar sumber tidak terlalu dekat dengan hitam-putih, saya merekomendasikan pendekatan GUI jika memungkinkan, tetapi jika itu bukan pilihan untuk alasan apa pun Anda bisa melakukannya melalui baris perintah juga. Untuk kontrol yang lebih baik dari output, Anda dapat menggunakan alat seperti kurva warna, level dan kontras terlebih dahulu untuk mengisolasi bagian terang dan gelap dari gambar dengan lebih baik sebelum pengirikan. (Sebenarnya, ambang batas dapat dilihat sebagai kasus ekstrem menggunakan alat kurva warna.)
sumber
-channel
opsi konversi ImageMagick ) untuk diterapkan pada semacam "nilai" piksel, yang dihitung dari semua saluran. Itulah alasan mengapa saya mengatakan Anda mungkin ingin mengonversi ke skala abu-abu terlebih dahulu untuk hasil yang lebih mudah diprediksi. (Juga lihat hasil edit saya.)-lat
yang melakukan ambang adaptif lokal, dengan mempertimbangkan piksel sekitarnya.Anda dapat menggunakan Imagemagick:
Dari sini .
Inilah yang saya dapatkan setelah menerapkan ke gambar Anda:
sumber
-monochrome dari ImageMagick adalah opsi yang menggunakan dithering pintar, dan membuat output lebih terlihat daripada
-threshold
jika Anda bermaksud menggunakannya untuk konsumsi manusia:Tidak membuat banyak perbedaan untuk gambar sederhana seperti itu, tetapi untuk gambar yang lebih besar, sangat mencolok.
sumber
Anda juga dapat melakukan ini dengan mudah dengan
netpbm
toolkit:ppmtopgm
mengkonversi ke gambar skala abu-abu,pgmtopbm
mengkonversi ke gambar hitam-putih, dan kami kemudian mengarahkan output ke file. Itu akan dalam format pbm; jika Anda menginginkan sesuatu yang lebih umum, Anda harus menambahkan konverter output (misalnya,pnmtopng
atau semacamnya)sumber