Bagaimana Anda menambahkan gaussian blur di python?

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 inline

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 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 int atau urutan int, opsional

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, opsional

Larik 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, opsional

Parameter 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

'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, opsional

Nilai untuk mengisi melewati tepi input jika mode 'konstan'. Standarnya adalah 0. 0

potong mengambang, opsional

Potong filter pada banyak standar deviasi ini. Standarnya adalah 4. 0

radius Tidak ada atau int atau urutan int, opsional

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 ndarray

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 Blur

Dalam 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.