Asah imej ialah teknik pemprosesan imej yang biasa digunakan yang boleh menjadikan gambar lebih jelas dan terperinci. Dalam Python, kita boleh menggunakan beberapa perpustakaan pemprosesan imej biasa untuk melaksanakan fungsi mengasah imej. Artikel ini akan memperkenalkan cara menggunakan perpustakaan Bantal, perpustakaan OpenCV dan perpustakaan Scikit-Image dalam Python untuk mengasah imej.
Pustaka bantal ialah perpustakaan pemprosesan imej yang biasa digunakan dalam Python, yang menyediakan versi PIL (Python Image Library) yang dipertingkatkan. Pustaka Bantal boleh digunakan untuk membaca dan memproses pelbagai jenis imej, seperti JPG, PNG, BMP, dsb. Langkah-langkah untuk menggunakan perpustakaan Bantal untuk mengasah imej adalah seperti berikut:
1) Pasang perpustakaan Bantal
Masukkan arahan berikut pada baris arahan untuk memasang perpustakaan Bantal:
pip install Pillow
2) Baca Gambar
menggunakan modul Imej perpustakaan Bantal untuk membaca gambar. Sebagai contoh, kita boleh membaca gambar bernama "test.jpg":
from PIL import Image image = Image.open('test.jpg')
3) Tingkatkan ketajaman gambar
Gunakan modul Penapis perpustakaan Bantal untuk melakukan operasi mengasah. Anda boleh menggunakan penapis seperti kabur, peningkatan tepi dan peningkatan ketajaman. Di sini kami menggunakan penapis UnsharpMask untuk meningkatkan ketajaman imej:
from PIL import ImageFilter sharpened_image = image.filter(ImageFilter.UnsharpMask(radius=2, percent=150, threshold=3))
Dalam kod di atas, parameter jejari menentukan jejari kabur, parameter peratus menentukan peratusan mengasah dan parameter ambang menentukan ambang mengasah .
4) Simpan hasilnya
Akhir sekali, gunakan kaedah save() untuk menyimpan hasil sebagai gambar baharu:
sharpened_image.save('sharpened_test.jpg')
Pustaka OpenCV ialah perpustakaan penglihatan komputer sumber terbuka yang boleh digunakan untuk pelbagai tugas pemprosesan imej. Langkah-langkah untuk menggunakan perpustakaan OpenCV untuk mengasah imej adalah seperti berikut:
1) Pasang perpustakaan OpenCV
Masukkan arahan berikut dalam baris arahan untuk memasang perpustakaan OpenCV:
pip install opencv-python
2) Baca Gambar
menggunakan fungsi imread() perpustakaan OpenCV untuk membaca gambar. Sebagai contoh, kita boleh membaca gambar bernama "test.jpg":
import cv2 image = cv2.imread('test.jpg')
3) Tingkatkan ketajaman gambar
Gunakan fungsi Laplacian perpustakaan OpenCV untuk meningkatkan ketajaman gambar. Kodnya adalah seperti berikut:
import cv2 kernel_size = 3 scale = 1 delta = 0 ddepth = cv2.CV_16S gray = cv2.cvtColor(image, cv2.COLOR_BGR2GRAY) gray = cv2.GaussianBlur(gray, (3, 3), 0) dst = cv2.Laplacian(gray, ddepth, ksize=kernel_size, scale=scale, delta=delta) absdst = cv2.convertScaleAbs(dst)
Dalam kod di atas, parameter kernel_size menentukan saiz operator, parameter skala menentukan faktor penskalaan, parameter delta menentukan offset, dan parameter ddepth menentukan output kedalaman.
4) Simpan hasil
Akhir sekali, gunakan fungsi imwrite() untuk menyimpan hasil sebagai imej baharu:
cv2.imwrite('sharpened_test.jpg', absdst)
Pustaka Scikit-Image ialah perpustakaan pemprosesan imej Python yang menyediakan pelbagai algoritma pemprosesan imej. Langkah-langkah untuk menggunakan perpustakaan Scikit-Image untuk mengasah imej adalah seperti berikut:
1) Pasang perpustakaan Scikit-Image
Masukkan arahan berikut pada baris arahan untuk memasang Scikit-Image perpustakaan:
pip install scikit-image
2) Baca imej
Gunakan modul io perpustakaan Scikit-Image untuk membaca imej. Sebagai contoh, kita boleh membaca imej bernama "test.jpg":
from skimage import io image = io.imread('test.jpg')
3) Tingkatkan ketajaman imej
Gunakan modul transformasi pustaka Scikit-Image untuk melakukan operasi penajaman . Di sini kami menggunakan fungsi unsharp_mask() untuk meningkatkan ketajaman imej:
from skimage import filters sharpened_image = filters.unsharp_mask(image, radius=2, amount=1.5, multichannel=True)
Dalam kod di atas, parameter jejari menentukan saiz kernel lilitan, parameter jumlah menentukan tahap ketajaman dan parameter berbilang saluran menentukan sama ada ia adalah imej berwarna.
4) Simpan hasilnya
Akhir sekali, gunakan fungsi imsave() modul io untuk menyimpan hasil sebagai gambar baharu:
io.imsave('sharpened_test.jpg', sharpened_image)
Kesimpulan
Artikel ini memperkenalkan kaedah mengasah imej menggunakan perpustakaan Bantal, perpustakaan OpenCV dan perpustakaan Scikit-Image dalam Python. Perpustakaan ini menyediakan pelbagai algoritma dan fungsi untuk memproses imej, yang boleh kita pilih untuk digunakan mengikut keperluan kita. Penajaman imej adalah bahagian penting dalam pemprosesan imej Ia boleh meningkatkan kualiti dan kejelasan imej dan mempunyai prospek aplikasi yang luas dalam aplikasi praktikal.
Atas ialah kandungan terperinci Bagaimana untuk menggunakan teknik mengasah imej dalam Python?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!