Rumah  >  Artikel  >  pembangunan bahagian belakang  >  10 Alat Pemprosesan Imej Terbaik dalam Python

10 Alat Pemprosesan Imej Terbaik dalam Python

王林
王林ke hadapan
2023-04-14 16:10:071583semak imbas

10 Alat Pemprosesan Imej Terbaik dalam Python

Dunia hari ini penuh dengan semua jenis data dan imej adalah bahagian yang sangat penting daripadanya. Walau bagaimanapun, untuk ia berguna, kita perlu memproses imej ini. Pemprosesan imej ialah proses menganalisis dan memanipulasi imej digital dengan tujuan untuk meningkatkan kualitinya atau mengekstrak beberapa maklumat daripadanya dan kemudian menggunakannya dalam beberapa cara.

Tugas biasa dalam pemprosesan imej termasuk memaparkan imej, operasi asas (seperti memotong, membalikkan, berputar, dll.), pembahagian imej, pengelasan dan pengekstrakan ciri, pemulihan imej dan pengecaman imej, dsb. Python ialah pilihan terbaik untuk tugas pemprosesan imej kerana semakin popular bahasa pengaturcaraan saintifik ini dan ketersediaan percuma banyak alat pemprosesan imej terkini.

Mari kita lihat beberapa perpustakaan Python yang biasa digunakan untuk tugas pemprosesan imej.

1. scikit Image

scikit-image ialah pakej Python sumber terbuka berdasarkan tatasusunan numpy. Ia melaksanakan algoritma dan utiliti untuk penyelidikan, pendidikan dan aplikasi perindustrian. Ia adalah perpustakaan yang agak mudah walaupun untuk mereka yang baru menggunakan Python. Kod perpustakaan adalah berkualiti tinggi dan telah disemak oleh rakan sebaya, ditulis oleh komuniti sukarelawan yang aktif.

Contoh penggunaan: penapisan imej, padanan templat.

Perpustakaan boleh diimport menggunakan "skimage". Kebanyakan fungsi boleh didapati dalam submodul.

import matplotlib.pyplot as plt
%matplotlib inline
from skimage import data,filters
image = data.coins()
# ... or any other NumPy array!
edges = filters.sobel(image)
plt.imshow(edges, cmap='gray')

10 Alat Pemprosesan Imej Terbaik dalam Python

Padanan templat (menggunakan fungsi templat_padan)

10 Alat Pemprosesan Imej Terbaik dalam Python

2 🎜>Numpy ialah salah satu perpustakaan teras untuk pengaturcaraan Python dan menyokong struktur tatasusunan. Imej pada asasnya ialah tatasusunan Numpy standard yang mengandungi piksel titik data. Oleh itu, nilai piksel imej boleh diubah suai dengan menggunakan operasi NumPy asas - seperti penghirisan, penyamaran dan pengindeksan mewah. Imej boleh dimuatkan menggunakan skimage dan dipaparkan menggunakan matplotlib.


Contoh penggunaan: Gunakan Numpy untuk menyahpekakan imej:

import numpy as np
from skimage import data
import matplotlib.pyplot as plt
%matplotlib inline
image = data.camera()
type(image)
numpy.ndarray #Image is a numpy array
mask = image < 87
image[mask]=255
plt.imshow(image, cmap='gray')

10 Alat Pemprosesan Imej Terbaik dalam Python3 Scipy

scipy ialah satu lagi teras saintifik modul Python yang, seperti Numpy, boleh digunakan untuk tugas pemprosesan dan pemprosesan imej asas. Perlu dinyatakan bahawa submodul scipy.ndimage menyediakan fungsi yang beroperasi pada tatasusunan NumPy n-dimensi. Pakej pada masa ini termasuk ciri seperti penapisan linear dan tak linear, morfologi binari, interpolasi B-spline dan ukuran objek.


Contoh penggunaan: Gunakan penapis Gaussian SciPy untuk mengaburkan imej:

from scipy import misc,ndimage
face = misc.face()
blurred_face = ndimage.gaussian_filter(face, sigma=3)
very_blurred = ndimage.gaussian_filter(face, sigma=5)
#Results
plt.imshow(<image to be displayed>)

10 Alat Pemprosesan Imej Terbaik dalam Python4 PIL (Python Imaging Library) ialah perpustakaan bahasa pengaturcaraan Python percuma yang menambah sokongan untuk membuka, memproses dan menyimpan banyak format fail imej yang berbeza. Walau bagaimanapun, perkembangannya telah terhenti dan kemas kini terakhirnya adalah pada tahun 2009. Nasib baik, PIL mempunyai garpu dalam pembangunan aktif yang dipanggil Bantal, yang sangat mudah dipasang. Bantal berjalan pada semua sistem pengendalian utama dan menyokong Python 3. Pustaka mengandungi fungsi pemprosesan imej asas, termasuk operasi titik, penapisan menggunakan set kernel konvolusi terbina dalam, dan penukaran ruang warna.

Contoh penggunaan: Gunakan ImageFilter untuk mempertingkatkan imej dalam Bantal:


from PIL import Image, ImageFilter
#Read image
im = Image.open( 'image.jpg' )
#Display image
im.show()
from PIL import ImageEnhance
enh = ImageEnhance.Contrast(im)
enh.enhance(1.8).show("30% more contrast")
5 (Perpustakaan Penglihatan Komputer Sumber Terbuka) adalah salah satu perpustakaan yang paling banyak digunakan dalam aplikasi penglihatan komputer. OpenCV-Python ialah API python OpenCV. OpenCV-Python bukan sahaja pantas (kerana bahagian belakang terdiri daripada kod yang ditulis dalam C/C++), tetapi juga mudah untuk dikod dan digunakan (terima kasih kepada pembungkus Python pada bahagian hadapan). Ini menjadikannya pilihan yang sangat baik untuk melaksanakan program penglihatan komputer yang intensif secara pengiraan.

10 Alat Pemprosesan Imej Terbaik dalam Python

Contoh penggunaan: Gunakan Piramid untuk mencipta buah baharu yang dipanggil fungsi 'Orapple'


6. SimpleCV

SimpleCV juga merupakan rangka kerja sumber terbuka untuk membina aplikasi penglihatan komputer. Ia menyediakan akses kepada perpustakaan penglihatan komputer berprestasi tinggi seperti OpenCV tanpa perlu terlebih dahulu memahami kedalaman bit, format fail atau ruang warna. Ia lebih mudah untuk dipelajari daripada OpenCV, dan seperti kata slogan mereka, "Ia menjadikan penglihatan komputer mudah." Beberapa perkara yang memihak kepada SimpleCV ialah:

  • Malah seorang pemula boleh menulis ujian penglihatan mesin mudah
  • Kamera, fail video, imej dan strim video semuanya Boleh dikendalikan secara interaktif

Contoh penggunaan

10 Alat Pemprosesan Imej Terbaik dalam Python

7 Mahotas

Mahotas adalah satu lagi untuk visi Komputer dan perpustakaan pemprosesan imej untuk Python. Ia mengandungi fungsi pemprosesan imej tradisional (seperti penapisan dan operasi morfologi) serta fungsi penglihatan komputer yang lebih moden untuk pengiraan ciri (termasuk pengesanan titik minat dan deskriptor setempat). Antara muka adalah dalam Python, sesuai untuk pembangunan pesat, tetapi algoritma dilaksanakan dalam C++ dan dioptimumkan untuk kelajuan. Pustaka Mahotas adalah pantas, kodnya mudah, dan kebergantungannya (pada perpustakaan lain) adalah minimum. Adalah disyorkan untuk membaca dokumentasi rasmi mereka untuk mengetahui lebih lanjut.

Contoh Penggunaan

Pustaka Mahotas menggunakan kod mudah untuk menyelesaikan kerja. Untuk masalah "Mencari Wally", Mahotas melakukan kerja yang hebat dengan jumlah kod yang sangat kecil.

10 Alat Pemprosesan Imej Terbaik dalam Python10 Alat Pemprosesan Imej Terbaik dalam Python

8 SimpleITK

ITK (Segmentasi Wawasan dan Kit Alat Pendaftaran) ialah sistem silang platform sumber terbuka yang menyediakan pembangun dengan Satu set lengkap alat perisian untuk analisis imej. Antaranya, SimpleITK ialah lapisan ringkas yang dibina di atas ITK, bertujuan untuk mempromosikan penggunaannya dalam prototaip pantas, pendidikan dan bahasa skrip. SimpleITK ialah kit alat analisis imej dengan sejumlah besar komponen yang menyokong operasi penapisan umum, pembahagian imej dan pendaftaran. SimpleITK sendiri ditulis dalam C++, tetapi tersedia untuk sejumlah besar bahasa pengaturcaraan, termasuk Python.

Berikut ialah beberapa buku nota Jupyter yang menggambarkan cara menggunakan SimpleITK untuk aktiviti pendidikan dan penyelidikan. Buku nota menunjukkan cara menggunakan SimpleITK untuk analisis imej interaktif menggunakan bahasa pengaturcaraan Python dan R.

Contoh Penggunaan

Animasi di bawah ialah visualisasi proses pendaftaran CT/MR yang ketat yang dibuat menggunakan SimpleITK dan Python.

10 Alat Pemprosesan Imej Terbaik dalam Python

9. pgmagick

pgmagick ialah pembungkus berasaskan Python bagi pustaka GraphicsMagick. Sistem pemprosesan imej GraphicsMagick kadangkala dipanggil Pisau Tentera Swiss bagi pemprosesan imej. Ia menyediakan koleksi alat dan perpustakaan yang berkuasa dan cekap yang menyokong pembacaan, penulisan dan manipulasi imej dalam lebih daripada 88 format utama, termasuk format penting seperti DPX, GIF, JPEG, JPEG-2000, PNG, PDF, PNM dan TIFF .

Contoh penggunaan: penskalaan imej, pengekstrakan tepi

10 Alat Pemprosesan Imej Terbaik dalam Python

Penskalaan imej

10 Alat Pemprosesan Imej Terbaik dalam Python

Pengestrakan tepi

10. Pycairo

Pycairo ialah satu set pengikatan ular sawa untuk perpustakaan grafik cairo. Kaherah ialah perpustakaan grafik 2D untuk melukis grafik vektor. Grafik vektor adalah menarik kerana ia tidak kehilangan kejelasan apabila diubah saiz atau diubah. Pustaka Pycairo boleh memanggil arahan cairo daripada Python.

Penggunaan: Pycairo boleh melukis garisan, bentuk asas dan kecerunan jejari.

10 Alat Pemprosesan Imej Terbaik dalam Python

Di atas ialah beberapa pustaka Python pemprosesan imej yang percuma dan sangat baik. Ada yang terkenal yang anda mungkin sudah tahu atau pernah menggunakannya, dan ada yang mungkin baru kepada anda. Kemudian tiba masanya untuk bermula sekarang dan mencubanya!

Atas ialah kandungan terperinci 10 Alat Pemprosesan Imej Terbaik dalam Python. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Artikel ini dikembalikan pada:51cto.com. Jika ada pelanggaran, sila hubungi admin@php.cn Padam