Ada banyak fungsi di OpenCV yang memungkinkan Anda untuk memanipulasi gambar input Anda. cv2. Gaussianblur() adalah salah satunya. Ini memungkinkan Anda untuk mengaburkan gambar yang sangat membantu saat memproses gambar Anda. Dalam seluruh tutorial ini Anda akan tahu cara memburamkan gambar menggunakan modul python OpenCV
Mengapa Kami mengaburkan gambar?
Sama seperti prapemrosesan diperlukan sebelum membuat model pembelajaran mesin apa pun. Dengan cara yang sama, menghilangkan noise pada gambar penting untuk pemrosesan gambar lebih lanjut. Gaussian Blurring membuat gambar menjadi halus dan menghilangkan noise. Pada bagian selanjutnya, Anda akan mengetahui semua langkah untuk melakukan Gaussian blur menggunakan metode cv2 Gaussianblur
Langkah-langkah untuk Memburamkan gambar dengan Python menggunakan cv2. Gaussianblur()
Langkah 1. Impor semua perpustakaan yang diperlukan
Di seluruh tutorial, saya menggunakan dua perpustakaan. Salah satunya adalah OpenCV dan lainnya adalah matplotlib. Yang terakhir akan digunakan untuk menampilkan gambar di notebook Jupyter
import cv2 import matplotlib.pyplot as plt %matplotlib inlineDalam tutorial kami, saya menampilkan semua gambar sebaris. Itu sebabnya saya memberi tahu juru bahasa python untuk menampilkan gambar sebaris menggunakan %matplotlib sebaris
Langkah 2. Baca file gambar
Sebelum mengaburkan gambar, Anda harus terlebih dahulu membaca gambar. Di OpenCV, Anda dapat membaca gambar menggunakan cv2. metode imread(). Mari kita baca gambarnya
Standar deviasi untuk kernel Gaussian. Deviasi standar dari filter Gaussian diberikan untuk setiap sumbu sebagai urutan, atau sebagai nomor tunggal, dalam hal ini sama untuk semua sumbu.
Urutan filter sepanjang setiap sumbu diberikan sebagai urutan bilangan bulat, atau sebagai nomor tunggal. Urutan 0 sesuai dengan konvolusi dengan kernel Gaussian. Urutan positif sesuai dengan konvolusi dengan turunan dari Gaussian
keluaran array atau dtype, opsionalLarik untuk menempatkan output, atau tipe d dari larik yang dikembalikan. Secara default, array dengan tipe yang sama dengan input akan dibuat
mode str atau urutan, opsionalParameter mode menentukan bagaimana larik input diperluas saat filter tumpang tindih dengan batas. Dengan melewati urutan mode dengan panjang yang sama dengan jumlah dimensi array masukan, mode yang berbeda dapat ditentukan sepanjang sumbu masing-masing. Nilai default adalah 'mencerminkan'. Nilai-nilai yang valid dan perilaku mereka adalah sebagai berikut
'mencerminkan' (d c b a. abcd. dcb a)Input diperluas dengan merefleksikan tepi piksel terakhir. Mode ini juga terkadang disebut sebagai simetri setengah sampel
'konstan' (k k k k. abcd. k k k k)Input diperluas dengan mengisi semua nilai di luar tepi dengan nilai konstanta yang sama, yang ditentukan oleh parameter cval
'terdekat' (a a a a. abcd. d d d d)Input diperluas dengan mereplikasi piksel terakhir
'cermin' (d c b. abcd. c b a)Input diperluas dengan mencerminkan pusat piksel terakhir. Mode ini juga terkadang disebut sebagai simetris sampel utuh
Input diperpanjang dengan membungkus ke tepi yang berlawanan
Untuk konsistensi dengan fungsi interpolasi, nama mode berikut juga dapat digunakan
'konstanta-kisi'Ini adalah sinonim untuk 'konstan'
'grid-mirror'Ini adalah sinonim untuk 'mencerminkan'
'kotak-bungkus'Ini adalah sinonim untuk 'bungkus'
cval skalar, opsionalNilai untuk mengisi melewati tepi input jika mode 'konstan'. Standarnya adalah 0. 0
potong mengambang, opsionalPotong filter pada banyak standar deviasi ini. Standarnya adalah 4. 0
Jari-jari kernel Gaussian. Jari-jari diberikan untuk setiap sumbu sebagai urutan, atau sebagai angka tunggal, dalam hal ini sama untuk semua sumbu. Jika ditentukan, ukuran kernel di sepanjang setiap sumbu akan menjadi 2*radius + 1, dan truncate diabaikan. Standarnya adalah Tidak Ada
Pengembalian . gaussian_filter ndarrayMengembalikan array dengan bentuk yang sama seperti input
Catatan
Filter multidimensi diimplementasikan sebagai rangkaian filter konvolusi 1-D. Array perantara disimpan dalam tipe data yang sama dengan output. Oleh karena itu, untuk jenis keluaran dengan presisi terbatas, hasilnya mungkin tidak tepat karena hasil antara dapat disimpan dengan presisi yang tidak memadai
Di sini kita akan membahas noise gambar, cara menambahkannya ke gambar, dan cara meminimalkan noise dengan Gaussian blur menggunakan OpenCV. Kami memiliki sedikit matematika untuk dibahas, tetapi tidak sepenuhnya penting untuk mengimplementasikannya dengan Python. Jika Anda hanya menginginkan kodenya, lewati ke bawah untuk TL;DR
Gaussian BlurDalam pemrosesan gambar, Gaussian Blur digunakan untuk mengurangi jumlah noise pada gambar. Menerapkan Gaussian Blur pada gambar dengan Python dengan OpenCV sangat mudah dengan…