Cara mengubah nilai piksel gambar di python opencv

Python adalah bahasa pemrograman berorientasi objek yang populer untuk tugas terkait gambar untuk halaman web, visualisasi, atau saat menggunakan Python untuk operasi pembelajaran mesin melalui kerangka kerja seperti OpenCV dan Scikit Learn

Mengurangi ukuran gambar berarti mengubah dimensinya dengan menghilangkan pikselnya. Memperbesar gambar meningkatkan jumlah pikselnya tetapi menurunkan kualitasnya. Apa pun itu, rasio aspek gambar berubah, yang mengakibatkan distorsi

Artikel ini menjelaskan cara mengubah ukuran gambar secara massal dengan pustaka Bantal, cabang populer dari Pustaka Pencitraan Python (PIL); . Juga dijelaskan cara mengubah ukuran dan memotong gambar Python dengan Cloudinary melalui otomatisasi

Ubah Ukuran Gambar dengan Python Dengan Bantal

Pillow adalah fork dari Python Imaging Library (PIL) yang mendukung Python 3 dan berbagai format gambar, termasuk PNG, JPEG, TIFF, dan PPM. Saat Anda memuat gambar dari file, membuat gambar baru, atau membuat instance terpisah untuk gambar, Anda membuat instance dari kelas Gambar PIL

Untuk mengubah ukuran gambar dengan metode resize() Pillow

  1. Impor kelas PIL image_
  2. Muat gambar dari file dengan fungsi open()
    1. image = Image.open('myimage.jpg')

    Perintah di atas mengembalikan objek Image. Jika terjadi kegagalan, perintah mengembalikan pengecualian OSError

  3. Panggil metode resize()_ pada instance gambar baru, berikan argumen Tuple dengan dua bilangan bulat untuk menentukan lebar dan tinggi yang Anda inginkan
    1. image = Image.open('myimage.jpg')
    2. new_image = image.resize((500, 500))_
    3. resize()0

    Catatan. Alih-alih mengubah file gambar, fungsi ini mengembalikan instance Image terpisah dengan dimensi baru

Namun, metode resize() memiliki dua kelemahan

  • Seringkali, mengubah ukuran ke lebar dan tinggi yang tepat akan mengubah rasio aspek gambar, yang menyebabkan distorsi
  • Jika Anda menyetel ukuran instance baru menjadi lebih besar dari aslinya, resize() "meledakkan" instance, mengurangi kualitasnya

Sebagai solusinya, ubah ukuran gambar dengan metode Bantal yang lebih canggih, resize()4

  1. Lakukan langkah 1 dan 2 dari prosedur di atas
  2. Panggil metode resize()_4 pada instance Image, berikan argumen Tuple dengan dua bilangan bulat untuk menentukan lebar dan tinggi yang Anda inginkan
    1. resize()_7
    2. resize()_8
    3. resize()_9
    4. image_0

Seperti yang ditunjukkan pada image1, ukuran instance baru adalah 400×350 piksel. Rasio aspek gambar asli tetap tidak berubah. Selain itu, jika dimensi aslinya lebih kecil dari yang ditentukan untuk instance baru, alih-alih "meledakkan" gambar, resize()4 mengembalikan instance dengan ukuran yang sama

Ubah Ukuran Gambar dengan Python Dengan OpenCV

OpenCV adalah pustaka visi komputer sumber terbuka dengan ribuan pembelajaran mesin dan algoritme pembelajaran mendalam untuk deteksi wajah, pengenalan objek, dan banyak tugas visi komputer lainnya. Mengingat bahwa banyak model visi komputer memerlukan ukuran dan tingkat kualitas tertentu untuk gambarnya, mengubah ukuran sangatlah penting. Untuk menentukan variasi gambar mana yang berperforma terbaik, bereksperimenlah dengan berbagai ukuran atau resolusi

Berikut adalah sintaks lengkap untuk metode resize() di OpenCV

image_4

Parameternya adalah sebagai berikut

srcJalur file tempat gambar input berada. dsizeUkuran gambar keluaran, yang menganut sintaks image5. fxFaktor skala untuk sumbu X. fyFaktor skala untuk sumbu Y. interpolasiTeknik untuk menambah atau menghapus piksel selama proses pengubahan ukuran. Standarnya adalah image_6

Catatan. Terapkan image_7 atau image8 dan image9, atau ketiganya

Untuk melakukan tugas pengubahan ukuran sederhana dengan OpenCV

  1. Impor perpustakaan OpenCV
    1. open()0
    2. open()1
  2. Dapatkan gambar sampel dan tentukan ukurannya saat ini
    1. open()2
    2. open()_3
    3. open()_4
    4. open()5
  3. Ubah ukuran gambar, katakanlah, ukuran 800×600 piksel, menjadi 300×300 piksel
    1. open()6

Seperti pada contoh sebelumnya tentang mengubah ukuran gambar dengan metode Pillow's resize(), prosedur ini mengubah rasio aspek, menyebabkan distorsi. Untuk mempertahankan rasio itu, jalankan perintah berikut untuk mengubah ukuran gambar menjadi 75% dari lebar dan tingginya

open()7

Selain itu, untuk instans yang ukurannya lebih besar dari aslinya, Anda dapat menyesuaikan interpolasi operasi pengubahan ukuran. Meskipun melakukan hal itu menyebabkan penurunan kualitas, ini mungkin merupakan pilihan yang tepat untuk aplikasi computer-vision tertentu

Berikut adalah nilai untuk open()_8 argumen

image6 Interpolasi bilinear standar, ideal untuk gambar yang diperbesar. image = Image.open('myimage.jpg')0Interpolasi tetangga terdekat, yang meskipun cepat dijalankan, menciptakan gambar kotak-kotak. image = Image.open('myimage.jpg')1Interpolasi untuk area piksel, yang memperkecil gambar. image = Image.open('myimage.jpg')2Interpolasi bikubik dengan lingkungan 4×4-piksel, yang meskipun lambat untuk dijalankan, menghasilkan instans berkualitas tinggi. image = Image.open('myimage.jpg')3Interpolasi Lanczos dengan lingkungan 8×8-piksel, yang menghasilkan gambar dengan kualitas tertinggi tetapi paling lambat dijalankan

Ubah Ukuran dan Pangkas Gambar Python Dengan Cloudinary Through Automation

Layanan berbasis cloud untuk mengelola gambar dan video, Cloudinary menawarkan paket berlangganan gratis selamanya. Saat berada di platform itu, Anda dapat mengunggah gambar dan menerapkan efek, filter, dan modifikasi bawaan

Anda juga dapat mengubah ukuran gambar melalui otomatisasi, berfokus pada elemen terpenting dengan AI, atau menyesuaikannya dengan desain situs web Anda dengan, misalnya, menentukan lebar, tinggi, dan rasio aspek sebagai kualifikasi untuk instance gambar baru. Cloudinary kemudian secara otomatis melakukan tugas pengubahan ukuran dan pemangkasan untuk memenuhi kriteria. Tidak diperlukan upaya manual

Bagaimana Anda mengubah piksel gambar dengan Python?

Untuk melakukan tugas pengubahan ukuran sederhana dengan OpenCV. .
Impor perpustakaan OpenCV. impor cv2. impor matplotlib. pyplot sebagai plt
Dapatkan gambar sampel dan tentukan ukurannya saat ini. #baca gambar. img=cv2. imread("gambarku. jpg").
Ubah ukuran gambar, katakanlah, ukuran 800×600 piksel, menjadi 300×300 piksel. cv2. ubah ukuran(img, (300.300))

Bagaimana cara menemukan nilai piksel gambar di OpenCV?

Jumlah total piksel dalam sebuah gambar diperoleh sebagai produk dari tinggi, lebar, dan salurannya . Karena Gambar di OpenCV dibaca sebagai array Numpy dari nilai piksel, maka dimungkinkan untuk mendapatkan dan memproses wilayah gambar yang diwakili oleh piksel wilayah tersebut menggunakan operasi pemotongan array.

Bagaimana Anda mengatur nilai piksel?

Untuk mendapatkan nilai piksel kita menggunakan fungsi getRGB(x,y). Fungsi ini mengambil sebagai parameter koordinat piksel dan mengembalikan nilai bilangan bulat yang bisa positif dan negatif. Jadi, untuk menyimpan nilai piksel kita akan membuat variabel integer . int p = img.

Bagaimana cara mengedit gambar di OpenCV?

Langkah 1. Impor perpustakaan dan baca gambarnya. Langkah pertama adalah mengimpor pustaka dan membaca gambar menggunakan cv2. .
Langkah 2. Memahami struktur susunan piksel. .
Langkah 3. Mengedit piksel. .
Langkah 4. Tampilkan gambar