Gambar Skala OpenCV: Cara Mengukur Gambar Dalam Python – Codewithaden

Penskalaan gambar adalah salah satu operasi terpenting dalam masalah visi komputer. Terkadang, pengguna ingin meningkatkan gambar untuk mendapatkan lebih banyak detail tentang objek tertentu, dan kadang -kadang pengguna perlu menurunkan gambar agar sesuai dengan beberapa kriteria.

Gambar skala opencv dalam python

Ke skala sebuah gambar di Python, gunakan cv2.resize () metode. Penskalaan sebuah gambar berarti memodifikasi dimensi gambar, yang hanya dapat berupa lebar, hanya tinggi, atau keduanya. Selain itu, Anda dapat mempertahankan rasio aspek dari gambar berskala.

Untuk mengubah ukuran atau skala gambar dalam python, gunakan fungsi cv2.resize ().

Mengubah ukuran gambar dapat dilakukan dalam banyak hal. Kami akan melihat contoh -contoh yang menunjukkan operasi ubah ukuran berikut.

  1. Saat menjaga rasio aspek (rasio tinggi terhadap lebar gambar dipertahankan),
    1. Downscale (kurangi ukuran gambar).
    2. Kelas atas (tingkatkan ukuran gambar).
  2. Sementara tidak menjaga rasio aspek,
    1. Ubah ukuran gambar hanya dengan lebar (menambah atau mengurangi lebar gambar, menjaga ketinggian tidak berubah).
    2. Ubah ukuran gambar hanya dengan tinggi (tambah atau kurangi ketinggian gambar, menjaga lebar tidak berubah).
  3. Ubah ukuran gambar ke lebar dan tinggi spesifik.

Gambar downscale dengan cv2.resize ()

Ke Downscale sebuah gambar menjadi setengah ukuran Python , menggunakan cv2.resize () Fungsi yang melewati nilai FX dan FY ke 0,5.

Lihat contoh kode berikut.

# app.py

import numpy as np
import cv2

img = cv2.imread('data.png', 1)
cv2.imshow('Original', img)

img_half = cv2.resize(img, (0, 0), fx=0.5, fy=0.5)
cv2.imshow('Half Image', img_half)

cv2.waitKey(0)
cv2.destroyAllWindows() 

Keluaran

Scale

Dalam contoh ini, kami menggunakan a mengubah ukuran () Gambar untuk skala setengah ukuran gambar asli kami. Kami akan memberikan nilai ( img, ), Dan kemudian kita lulus dalam ukuran absolut, atau (0,0) untuk tidak menetapkan ukuran absolut dalam piksel, Dan kemudian kita bisa lulus secara opsional dalam faktor relatif kami fx = 0,5 , TA = 0,5 . Ini akan menghasilkan gambar yang setengahnya Dalam kedua dimensi aslinya.

Gambar kelas atas dengan cv2.ressize ()

Ke kelas atas sebuah gambar di Python menggunakan opencv , menggunakan cv2.resize () metode. Metode cv2.resize () dapat menerima fx dan TA nilai untuk 1.5 .

# app.py

import numpy as np
import cv2

img = cv2.imread('data.png', 1)
cv2.imshow('Original', img)

img_scale_up = cv2.resize(img, (0, 0), fx=1.5, fy=1.5)

cv2.imshow('Upscaled Image', img_scale_up)

cv2.waitKey(0)
cv2.destroyAllWindows() 

Keluaran

Upscale

Cara meregangkan gambar dalam python

Ke menggeliat itu gambar di Python , menggunakan cv2.resize () Metode dan lulus dimensi eksplisit pada penskalaan gambar.

# app.py

import numpy as np
import cv2

img = cv2.imread('data.png', 1)
cv2.imshow('Original', img)

img_stretch = cv2.resize(img, (600, 600))

cv2.imshow('Stretched Image', img_stretch)

cv2.waitKey(0)
cv2.destroyAllWindows() 

Keluaran

Python

Anda dapat melihat bahwa gambar sisi kanan direntangkan tentang dimensi (600, 6000).

Atur mode interpolasi saat penskalaan

Untuk mengatur mode interpolasi saat penskalaan, lulus parameter interpolasi. Kami akan menggunakan mode interpolasi terdekat alih -alih mode default.

# app.py

import numpy as np
import cv2

img = cv2.imread('data.png', 1)
cv2.imshow('Original', img)

img_inter = cv2.resize(img, (600, 600), interpolation=cv2.INTER_NEAREST)

cv2.imshow('Nearest Interpolated Image', img_inter)

cv2.waitKey(0)
cv2.destroyAllWindows() 

Keluaran

Interpolation

Skala gambar secara horizontal dalam python

Untuk skala gambar secara horizontal menggunakan OpenCV, skala gambar hanya sepanjang sumbu x atau sumbu horizontal, dan jaga ketinggian gambar tidak berubah.

# app.py

import numpy as np
import cv2

img = cv2.imread('data.png', 1)
cv2.imshow('Original', img)

new_width = 300

dim_size = (new_width, img.shape[0])

horizon_img = cv2.resize(img, dim_size, interpolation=cv2.INTER_AREA)

cv2.imshow('Horizontal Scaled Image', horizon_img)

cv2.waitKey(0)
cv2.destroyAllWindows() 

Keluaran

Scale

Skala gambar secara vertikal dalam python

Untuk skala gambar secara vertikal menggunakan opencv, skala gambar hanya sepanjang sumbu y atau sumbu vertikal, dan jaga agar lebar gambar tidak berubah.

# app.py

import numpy as np
import cv2

img = cv2.imread('data.png', 1)
cv2.imshow('Original', img)

new_height = 600

dim_size = (new_height, img.shape[1])

horizon_img = cv2.resize(img, dim_size, interpolation=cv2.INTER_AREA)

cv2.imshow('Vertically Scaled Image', horizon_img)

cv2.waitKey(0)
cv2.destroyAllWindows() 

Keluaran

Scale

Kesimpulan

Untuk skala gambar dalam python, gunakan metode cv2.resize (). Kami telah melihat skenario di mana kami dapat mempertahankan rasio aspek dan mengubah dimensi atau tidak melestarikannya. Kami telah meningkatkan gambar secara horizontal dan vertikal. Itu untuk meningkatkan gambar dalam Python.

Pos terkait

Gambar putar Python

Piksel gambar filter python

Python Access Pixel Data dari suatu gambar

Artikel ini berasal dari website Winpoin, dan kemudian diterjemahkan ke bahasa indonesia, baca artikel asli disini

Leave a Reply

Your email address will not be published. Required fields are marked *