Rumah >pembangunan bahagian belakang >Tutorial Python >Pemprosesan Imej Menggunakan Python
Pemprosesan Imej dengan Perpustakaan Imej Python's Scikit: Panduan Praktikal
editor akhbar 1911 terkenal dengan menyatakan, "Gunakan gambar. Ia bernilai seribu perkataan." Ini menonjolkan imej peranan penting dalam komunikasi, dari gambar -gambar sehari -hari hingga imbasan perubatan khusus seperti MRI dan ultrasound. Kaedah pengambilalihan imej berbeza -beza -dermatoskop untuk imej kanser kulit, kamera digital untuk foto peribadi, dan telefon pintar untuk snapshots kasual. Walau bagaimanapun, ketidaksempurnaan imej seperti kabur, sering berpunca dari proses pengambilalihan, boleh timbul. Apa itu? Apabila berurusan dengan imej perubatan yang sedia ada, pengimejan semula bukan pilihan. Di sinilah teknik pemprosesan imej menjadi tidak ternilai.
Pemprosesan imej, seperti yang ditakrifkan oleh Oxford Dictionaries, adalah "analisis dan manipulasi imej digital, terutama untuk meningkatkan kualitinya." Manipulasi digital ini memerlukan penggunaan bahasa pengaturcaraan, dan Python, dengan perpustakaannya yang kuat, adalah pilihan yang sangat baik. Tutorial ini menunjukkan tugas pemprosesan imej asas menggunakan perpustakaan Python's scikit-image
.
grayscaling imej
Perpustakaan scikit-image
memudahkan manipulasi imej. Kami akan bermula dengan menukar imej warna ke skala kelabu. Fungsi imread()
perpustakaan memuat imej, dan rgb2gray()
menukarkannya ke skala kelabu menggunakan pengiraan luminance:
L = 0.2125*R 0.7154*G 0.0721*B
from skimage import io, color img = io.imread('pizzeria.png') img_grayscale = color.rgb2gray(img) io.imsave('gray-pizzeria.png', img_grayscale) io.imshow(img_grayscale) io.show()Imej skala kelabu yang dihasilkan:
Penapisan imej meningkatkan imej melalui operasi seperti peningkatan kelebihan, mengasah, dan melicinkan. Kami akan menggunakan penapis Sobel untuk pengesanan tepi:
(nota: amaran mungkin muncul jika imej tidak 2D; memastikan format imej yang betul.)
from skimage import io, filters img = io.imread('pizzeria.png') sobel_a = filters.sobel(img) io.imsave('sobel-filter.png', sobel_a)
Imej yang ditapis Sobel:
Penapis lain, seperti penapis Gaussian untuk kabur, menawarkan keupayaan manipulasi imej selanjutnya. Parameter sisihan piawai mengawal intensiti kabur.
hasil penapis Gaussian (σ = 10 dan σ = [20,1]):
from skimage import io, color, filters img = io.imread('pizzeria.png') gaussian_a = filters.gaussian(img, 10) gaussian_b = filters.gaussian(img, [20, 1]) io.imsave('gaussian-filter-10.png', gaussian_a) io.imsave('gaussian-filter-20-1.png', gaussian_b)
Thresholding
Ambang menukarkan imej skala kelabu ke dalam imej binari (hitam dan putih). Kami menggunakan nilai skala kelabu min sebagai ambang:
Imej Terhadap:
Kesimpulan
menawarkan pelbagai keupayaan pemprosesan imej. Terokai dokumentasi yang luas untuk teknik yang lebih maju. Bagi mereka yang berminat untuk belajar Python, tutorial komprehensif sedia ada. scikit-image
Atas ialah kandungan terperinci Pemprosesan Imej Menggunakan Python. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!