Program untuk pengolah gambar dengan python

Oleh karena itu, tidak diragukan lagi bahwa gambar memainkan peran penting dalam komunikasi kita—tidak hanya foto umum, tetapi juga gambar khusus seperti MRI atau ultrasonografi.

Kami dapat memperoleh foto melalui perangkat akuisisi yang berbeda. Misalnya, gambar melanoma (kanker kulit) diambil menggunakan dermatoskop. Kami mengambil foto diri sendiri atau teman menggunakan kamera digital atau smartphone. Namun terkadang, kami melihat beberapa masalah pada gambar kami, seperti buram misalnya, yang mungkin disebabkan oleh perangkat akuisisi yang digunakan

Tapi, apa yang harus dilakukan dalam kasus ini? . Bahkan jika Anda mengambil ulang gambar, resolusi yang Anda lihat tidak akan berubah, atau masalah lain yang Anda hadapi. Pemrosesan gambar berperan dalam situasi seperti itu

pengolahan citra. Analisis dan manipulasi gambar digital, terutama untuk meningkatkan kualitasnya. — Kamus Oxford

"Gambar digital" di sini mengacu pada fakta bahwa gambar diproses oleh komputer. Mendapatkan komputer dalam game ini berarti menggunakan bahasa pemrograman

Dalam tutorial ini saya akan menunjukkan kepada Anda bagaimana kita dapat menggunakan bahasa pemrograman Python untuk melakukan tugas pemrosesan gambar pada gambar

scikit-image

Pustaka yang akan kita gunakan untuk melakukan tugas pemrosesan gambar adalah

from skimage import io
44. Menurut kertas scikit-image. pemrosesan gambar dengan Python

scikit-image adalah pustaka pemrosesan gambar yang mengimplementasikan algoritme dan utilitas untuk digunakan dalam aplikasi penelitian, pendidikan, dan industri. Ini dirilis di bawah lisensi sumber terbuka Modified BSD liberal, menyediakan API yang terdokumentasi dengan baik dalam bahasa pemrograman Python, dan dikembangkan oleh tim kolaborator internasional yang aktif.

Hal pertama yang perlu kita lakukan adalah menginstal ________0______44. Petunjuk untuk menginstal perpustakaan dapat ditemukan di halaman unduhan, dan dalam tutorial ini saya akan menunjukkan cara menginstal perpustakaan di mesin macOS, karena inilah yang saya gunakan saat ini dalam menulis tutorial ini

Karena

from skimage import io
44 adalah library eksternal, hal pertama yang harus kita lakukan adalah menginstal library tersebut. Untuk itu, saya akan menggunakan pip, yaitu (berdasarkan Wikipedia)

Sistem manajemen paket yang digunakan untuk menginstal dan mengelola paket perangkat lunak yang ditulis dengan Python. Banyak paket dapat ditemukan di Python Package Index (PyPI)

Anda dapat mengikuti langkah-langkah yang disebutkan dalam Panduan Pengguna Kemasan Python untuk menginstal

from skimage import io
47, tetapi jika Anda memiliki
from skimage import io
48 dan lebih tinggi, atau
from skimage import io
49 dan lebih tinggi, Anda sudah memiliki
from skimage import io
47

from skimage import io
_44 sekarang dapat diinstal dengan mengetikkan perintah berikut

from skimage import io
_52

Kami sekarang telah menginstal perpustakaan dan siap untuk beberapa kesenangan pemrosesan gambar

Gambar percobaan yang akan kita gunakan dalam tutorial ini adalah ilustrasi pizzeria. Lanjutkan dan unduh, atau cukup gunakan gambar pilihan Anda. Gambarnya terlihat sebagai berikut

Program untuk pengolah gambar dengan python
Program untuk pengolah gambar dengan python
Program untuk pengolah gambar dengan python

Dimensi Gambar

Terkadang kita perlu mengetahui dimensi suatu gambar (lebih lanjut tentang itu di bagian pemfilteran). Setelah kami memuat gambar ke dalam memori kami dari file menggunakan metode

from skimage import io
53, kami dapat dengan mudah mendapatkan dimensi gambar dengan bantuan atribut
from skimage import io
54

Alasan teknik ini berhasil adalah karena gambar dalam modul

from skimage import io
44 diwakili oleh array
from skimage import io
56. Ini sebuah contoh

1
from skimage import io
2
3
img = io.imread('baboon.png')
4
5
# Outputs: (512, 512, 3)

6
print(img.shape)
from skimage import io
0
from skimage import io
_0_______1
from skimage import io
2
from skimage import io
3
from skimage import io
4

Atribut bentuk memberi kita tupel di mana elemen pertama adalah tinggi gambar, elemen kedua adalah lebar gambar, dan elemen ketiga mewakili jumlah saluran. Dalam kasus kami, babon. gambar png memiliki tiga saluran untuk nilai merah, hijau, dan biru sehingga kami mendapat nilai 3

Berikut adalah contoh yang memuat gambar lain

1
from skimage import io
2
3
from skimage import io
9
4
5
2
2
6
print(img.shape)
from skimage import io
0
from skimage import io
1
2
7
from skimage import io
3
from skimage import io
4

Anda juga dapat memuat gambar Anda sebagai skala abu-abu dengan menyetel nilai parameter kedua

from skimage import io
57 di fungsi
from skimage import io
53 menjadi
from skimage import io
59. Atribut
from skimage import io
60 memberi tahu kita jumlah elemen dalam array. Dalam kasus gambar skala abu-abu, nilai ini sama dengan jumlah piksel pada gambar. Ini sebuah contoh

1
from skimage import io
2
3
3
4
4
5
3
7
6
print(img.shape)
from skimage import io
0
from skimage import io
1
img = io.imread('baboon.png')
2
from skimage import io
3
from skimage import io
4

Memanipulasi Piksel Individu

Anda dapat dengan mudah memodifikasi piksel individual dari setiap gambar yang dimuat menggunakan pustaka scikit-image. Ada beberapa konvensi yang harus diingat

Saat mengakses piksel gambar secara langsung, nilai pertama menunjukkan nomor baris, dan nilai kedua menunjukkan nomor kolom. Asal atau posisi yang sesuai dengan

from skimage import io
61 adalah sudut kiri atas gambar. Anda dapat membuat piksel pada baris ke-200 dan kolom ke-200 menjadi biru dengan menggunakan garis
from skimage import io
62

Dimungkinkan juga untuk memodifikasi satu set piksel secara bersamaan. Berikut adalah contoh yang menambahkan batas merah pada gambar kita

1
from skimage import io
2
3
from skimage import io
9
4
5
4
2
6
4
4
from skimage import io
0
from skimage import io
1
4
7
from skimage import io
3
4
9
5
0
5
1
5
2
5
3
5
4
5
5
5
6
5
7
5
8
5
9
# Outputs: (512, 512, 3)

0
# Outputs: (512, 512, 3)

1
# Outputs: (512, 512, 3)

2

Inilah hasilnya

Program untuk pengolah gambar dengan python
Program untuk pengolah gambar dengan python
Program untuk pengolah gambar dengan python

Warna ke Grayscale

Pada bagian ini, kami ingin mengonversi gambar restoran pizza berwarna asli menjadi gambar 2D skala abu-abu (hitam putih). Ini dapat dilakukan dengan mudah menggunakan skrip berikut

1
from skimage import io
2
3
3
4
4
# Outputs: (512, 512, 3)

9

Kami hanya meneruskan

from skimage import io
_57 sebagai
from skimage import io
64 ke metode
from skimage import io
53 yang telah kami pelajari di bagian sebelumnya

Metode

from skimage import io
66 menerima nama file dan array gambar sebagai parameter pertama dan kedua. Secara default, metode ini juga memeriksa apakah gambar yang Anda simpan memiliki kontras rendah dan memperingatkan Anda jika memang demikian

Cara lain untuk membuat gambar menjadi abu-abu adalah dengan bantuan metode

from skimage import io
67 dari modul warna. Kami hanya melewatkan array yang mewakili gambar kami sebagai parameter pertama. Outputnya memberi kita array baru yang mewakili gambar skala abu-abu. Perhitungan pencahayaan akhir dilakukan dengan menggunakan bobot berikut untuk saluran yang berbeda

1
6
1

Berikut adalah kode Python yang membuat gambar skala abu-abu

1
6
3
2
3
from skimage import io
9
4
6
8
5
6
print(img.shape)
1

Untuk menampilkan gambar skala abu-abu baru, tambahkan kode berikut di akhir skrip

1
print(img.shape)
3
2
print(img.shape)
5

Hasilnya terlihat seperti ini

Program untuk pengolah gambar dengan python
Program untuk pengolah gambar dengan python
Program untuk pengolah gambar dengan python

Menerapkan Filter ke Gambar

Dalam pemrosesan citra, penyaringan dilakukan untuk membuat beberapa peningkatan pada citra. Secara umum, penyaringan mencakup operasi berikut. peningkatan tepi, mengasah, dan menghaluskan

Pada bagian ini, saya akan menunjukkan kepada Anda bagaimana kami dapat menerapkan filter Sobel ke gambar kami dan melihat seperti apa hasilnya setelah melakukan operasi seperti itu

Skrip untuk menerapkan filter Sobel pada gambar kita terlihat sebagai berikut

1
print(img.shape)
7
2
3
from skimage import io
9
4
from skimage import io
02
5
6
from skimage import io
05

Anda kemungkinan besar akan mendapat peringatan saat mencoba menjalankan skrip di atas. Kami tidak dapat menerapkan operasi karena gambar harus berupa gambar 2D. Salah satu solusi untuk masalah ini adalah dengan menggunakan parameter kedua dan mengatur

from skimage import io
57 ke
from skimage import io
64. Output dari operasi ini terlihat sebagai berikut

Program untuk pengolah gambar dengan python
Program untuk pengolah gambar dengan python
Program untuk pengolah gambar dengan python

Ada banyak filter lain yang bisa Anda terapkan, seperti filter gaussian untuk blur. Itu menerima banyak parameter, dengan yang pertama adalah gambar sumber dan yang kedua adalah standar deviasi untuk filter gaussian. Anda dapat memberikan nilai tunggal atau urutan nilai (satu untuk setiap sumbu). Berikut adalah dua contoh

1
from skimage import io
07
2
3
from skimage import io
9
4
from skimage import io
12
5
from skimage import io
14
6
from skimage import io
0
from skimage import io
17
from skimage import io
1
from skimage import io
19

Berikut adalah hasil penerapan filter Gaussian dengan standar deviasi 10 ke gambar pizzeria

Program untuk pengolah gambar dengan python
Program untuk pengolah gambar dengan python
Program untuk pengolah gambar dengan python

Berikut adalah hasil penerapan filter Gaussian dengan standar deviasi 20 dan 1 untuk sumbu vertikal dan horizontal

Program untuk pengolah gambar dengan python
Program untuk pengolah gambar dengan python
Program untuk pengolah gambar dengan python

Sekarang, mari kita lihat bagaimana kita dapat menerapkan filter threshold ke gambar kita. Pertama, kami menghitung nilai ambang batas berdasarkan rata-rata dari semua nilai skala abu-abu pada gambar kami dengan menggunakan metode

from skimage import io
70. Setelah itu, kami membuat biner gambar kami dan mengatur piksel sebagai
from skimage import io
64 atau
from skimage import io
59 tergantung pada apakah mereka berada di atas ambang batas atau tidak. Gambar biner ini kemudian diubah menjadi data uint 8-bit dengan menggunakan metode
from skimage import io
73

1
from skimage import io
21
2
from skimage import io
23
3
4
3
4
5
6
from skimage import io
29
from skimage import io
0
from skimage import io
1
from skimage import io
32
from skimage import io
3
from skimage import io
34
5
0
5
1
5
3
from skimage import io
38
5
5
from skimage import io
40
5
6
5
8
from skimage import io
43

Kode di atas menghasilkan hasil berikut untuk gambar kita

Program untuk pengolah gambar dengan python
Program untuk pengolah gambar dengan python
Program untuk pengolah gambar dengan python

Kesimpulan

Ada banyak operasi pemrosesan gambar, dan pustaka Python

from skimage import io
44 memberi kita banyak operasi menarik yang dapat kita lakukan pada gambar kita. Anda dapat melihat lebih banyak operasi pemrosesan gambar menggunakan pustaka ini di situs web scikit-image

Pelajari Python

Pelajari Python dengan panduan tutorial Python lengkap kami, apakah Anda baru memulai atau Anda seorang pembuat kode berpengalaman yang ingin mempelajari keterampilan baru

Bagaimana cara menggunakan Python untuk pemrosesan gambar?

Pertama, impor yang diperlukan. .
""" * Pustaka Python untuk mempelajari dan melakukan pemrosesan gambar. * """ impor numpy sebagai np import matplotlib. pyplot sebagai plt import ipympl import imageio. v3 sebagai skimage impor iio
widget %matplotlib
gambar = io. imread(uri="data/delapan. tif") plt. .
cetak (gambar. bentuk) cetak (gambar)
(5, 3) [[0

Pustaka Python mana yang terbaik untuk pemrosesan gambar?

Dalam artikel ini, saya akan membuat daftar pustaka pemrosesan gambar yang paling berguna dengan Python yang banyak digunakan dalam tugas pembelajaran mesin. .
OpenCV. Sumber. OpenCV. .
Scikit-Gambar. Sumber. gambar skit. .
SciPy. Sumber. Pedas. .
Bantal/PIL. .
NumPy. .
Mahota. .
SimpleITK. .
Pgmagick

Apakah OpenCV terbaik untuk pemrosesan gambar?

OpenCV adalah pustaka sumber terbuka yang sangat besar untuk visi komputer, pembelajaran mesin, dan pemrosesan gambar dan sekarang memainkan peran utama dalam operasi waktu nyata yang sangat penting dalam . Dengan menggunakannya, seseorang dapat mengolah gambar dan video untuk mengidentifikasi objek, wajah, atau bahkan tulisan tangan manusia.

Apa itu OpenCV dengan Python untuk pemrosesan gambar?

Apa itu OpenCV? . Ini adalah alat populer yang digunakan untuk tugas pemrosesan gambar di berbagai aplikasi. Pustaka sumber terbuka ini digunakan untuk memproses gambar dan video untuk deteksi wajah, deteksi objek, serta tulisan tangan manusia. Open Source Computer Vision. It is a popular tool used for image processing tasks in different applications. This open-source library is used to process images and videos for face detection, object detection, as well as human handwriting.