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 Show
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 diperlukanDi seluruh tutorial, saya menggunakan dua perpustakaan. Salah satunya adalah OpenCV dan lainnya adalah matplotlib. Yang terakhir akan digunakan untuk menampilkan gambar di notebook Jupyter
Dalam 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 gambarSebelum 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 int atau urutan int, opsionalUrutan 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 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 'bungkus' (a b c d. abcd. abcd)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 filter pada banyak standar deviasi ini. Standarnya adalah 4. 0 radius Tidak ada atau int atau urutan int, opsionalJari-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 Mengembalikan 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… Bagaimana cara menambahkan Gaussian blur?Buka Filter > Blur > Gaussian Blur , dan jendela Gaussian Blur akan muncul. Anda dapat menyeret gambar di jendela Gaussian Blur untuk mencari objek yang akan diburamkan. Jika Anda merasa terlalu kecil, centang kotak Pratinjau, dan hasil blur Filter Gaussian akan terlihat pada gambar.
Apa itu Gaussian blur dengan Python?Dalam operasi Gaussian Blur, gambar digabungkan dengan filter Gaussian, bukan filter kotak . Filter Gaussian adalah filter low-pass yang menghilangkan komponen frekuensi tinggi yang direduksi. Anda dapat melakukan operasi ini pada gambar menggunakan metode Gaussianblur() dari kelas imgproc.
Bagaimana Anda mengaburkan gambar dengan Python?Gambar buram . Di [1]. impor numpy sebagai np impor matplotlib. pyplot sebagai plt saya = plt. imread('alma. png') I = I. jumlah(sumbu=-1) Di [10]. A = np. acak. . plt. angka(figsize=(12,12)) plt. . Di [12]. kabur(I) kabur(I) kabur(I) plt. . Di [19]. A = np. . Di [20]. def blur2(I). idx = np. . Di [22]. kabur(I) kabur(I) kabur(I) plt Bagaimana Anda menambahkan blur di OpenCV Python?Untuk membuat gambar buram, Anda dapat menggunakan metode GaussianBlur() dari OpenCV . GaussianBlur() menggunakan kernel Gaussian. Tinggi dan lebar kernel harus positif dan bilangan ganjil. Kemudian Anda harus menentukan arah X dan Y masing-masing yaitu sigmaX dan sigmaY. |