Rumah > pembangunan bahagian belakang > Tutorial Python > Penapisan gambar di python

Penapisan gambar di python

Jennifer Aniston
Lepaskan: 2025-03-03 09:44:10
asal
392 orang telah melayarinya

Berurusan dengan imej yang bising adalah masalah biasa, terutamanya dengan telefon bimbit atau foto kamera resolusi rendah. Tutorial ini meneroka teknik penapisan imej di Python menggunakan OpenCV untuk menangani isu ini.

penapisan imej: alat yang berkuasa

Penapisan imej adalah teknik pemprosesan imej utama yang digunakan untuk mengeluarkan bunyi dan ciri -ciri yang tidak diingini, menghasilkan imej yang lebih jelas dan lebih baik. Terdapat dua jenis penapis utama: linear (mis., Mean, Laplacian) dan bukan linear (mis., Median, minimum, maksimum, Sobel). Setiap penapis berfungsi dengan tujuan khusus dalam pengurangan bunyi atau peningkatan imej.

matematik di belakang penapisan imej

Penapisan imej menggunakan penapis atau topeng, biasanya tetingkap persegi dengan dimensi yang sama. Tetingkap ini mengandungi pekali berangka yang menentukan kesan penapis pada imej output.

Memohon penapis min

Kaedah blur() dalam OpenCV menggunakan penapis min. Contoh di bawah menunjukkan ini, menghasilkan imej yang lebih lancar berbanding dengan input bising asal.

Image Filtering in Python

Gaussian Blur vs. Penapisan dua hala

Gaussian Blurring adalah satu lagi teknik pengurangan hingar. Walaupun matematik yang mendasari adalah kompleks, OpenCV memudahkan permohonannya. Walau bagaimanapun, kabur Gaussian boleh mengaburkan tepi tajam.

Image Filtering in Python Kaedah

menawarkan penyelesaian dengan menggunakan penapis Gaussian yang menganggap perbezaan intensiti piksel. Ini mengekalkan tepi lebih baik daripada kabur Gaussian standard. Coretan kod di bawah menunjukkan penggunaannya:

bilateralFilter()

Membandingkan penapis Gaussian dan dua hala
import cv2, argparse

ap = argparse.ArgumentParser()
ap.add_argument('-i', '--image', required=True, help='Path to the input image')
args = vars(ap.parse_args())

image = cv2.imread(args['image'])
processed_image = cv2.bilateralFilter(image, 9, 80, 80)

cv2.imwrite('processed_image.png', processed_image)
cv2.waitKey(0)
Salin selepas log masuk

Untuk menggambarkan perbezaannya, mari kita periksa imej dengan tekstur dan tepi tajam, seperti imej papan. Blur Gaussian standard akan melembutkan tepi, manakala penapis dua hala mengekalkan garis yang lebih tajam semasa masih mengurangkan bunyi.

Imej Plank Asal:

Gaussian Blurred Plank Image: Image Filtering in Python

gambar papan yang ditapis dua hala:

Image Filtering in Python

Kesimpulan

antara muka python OpenCV memudahkan tugas pemprosesan imej lanjutan seperti penapisan. Tutorial ini menunjukkan kuasa dan kemudahan menggunakan teknik ini untuk pengurangan bunyi dan peningkatan imej. Image Filtering in Python

Siaran ini termasuk sumbangan dari Nitish Kumar, pemaju web yang berpengalaman dalam penciptaan laman web e -dagang.

Atas ialah kandungan terperinci Penapisan gambar di python. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan