Rumah >pembangunan bahagian belakang >Tutorial Python >Pemprosesan Imej Menggunakan Python

Pemprosesan Imej Menggunakan Python

Joseph Gordon-Levitt
Joseph Gordon-Levittasal
2025-03-03 10:18:13768semak imbas

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

inilah kod python:

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:

Image Processing Using Python

Memohon penapis

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. Image Processing Using Python

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)

Image Processing Using Python Image Processing Using Python Thresholding

Ambang menukarkan imej skala kelabu ke dalam imej binari (hitam dan putih). Kami menggunakan nilai skala kelabu min sebagai ambang:

Imej Terhadap:

Image Processing Using Python

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!

Kenyataan:
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 sebelumnya:Penapisan gambar di pythonArtikel seterusnya:Penapisan gambar di python