Rumah > pembangunan bahagian belakang > Tutorial Python > Bagaimana untuk menggunakan teknik mengasah imej dalam Python?

Bagaimana untuk menggunakan teknik mengasah imej dalam Python?

WBOY
Lepaskan: 2023-06-04 10:10:38
asal
4036 orang telah melayarinya

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.

  1. Gunakan perpustakaan Bantal 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
Salin selepas log masuk

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')
Salin selepas log masuk

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))
Salin selepas log masuk

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')
Salin selepas log masuk
  1. Gunakan perpustakaan OpenCV untuk imej mengasah

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
Salin selepas log masuk

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')
Salin selepas log masuk

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)
Salin selepas log masuk

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)
Salin selepas log masuk
  1. Gunakan perpustakaan Scikit-Image untuk Penajaman imej

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
Salin selepas log masuk

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')
Salin selepas log masuk

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)
Salin selepas log masuk

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)
Salin selepas log masuk

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!

Label berkaitan:
sumber:php.cn
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
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan