Ing Python ana sawetara perpustakaan kanggo nangani gambar, kayata OpenCV lan Pillow (PIL). Bagean iki nerangake carane entuk ukuran gambar (jembar lan dhuwur) kanggo saben gambar.
Sampeyan bisa entuk ukuran gambar (jembar lan dhuwur) minangka tuple nggunakake wangun kanggo OpenCV lan ukuran kanggo Bantal (PIL), nanging elinga yen urutan saben beda.
Informasi ing ngisor iki kasedhiya ing kene.
- OpenCV
ndarray.shape
:Entuk ukuran gambar (jembar, dhuwur)- Kanggo gambar warna
- Kanggo gambar grayscale (monochrome).
- Pillow(PIL)
size
,width
,height
:Entuk ukuran gambar (jembar, dhuwur)
Deleng artikel ing ngisor iki babagan carane entuk ukuran (kapasitas) file tinimbang ukuran gambar (ukuran).
- Artikel sing gegandhengan:Njupuk ukuran file utawa direktori (folder) ing Python
OpenCV:ndarray.shape:Entuk ukuran gambar (jembar, dhuwur)
Nalika file gambar dimuat ing OpenCV, dianggep minangka ndarray array NumPy, lan ukuran gambar (jembaré lan dhuwur) bisa dijupuk saka wangun atribut, kang nuduhake wangun ndarray.
Ora mung ing OpenCV, nanging uga nalika file gambar dimuat ing Bantal lan diowahi dadi ndarray, ukuran gambar diwakili dening ndarray dijupuk nggunakake wangun.
Kanggo gambar warna
Ing kasus gambar warna, ndarray telung dimensi ing ngisor iki digunakake.
- Baris (dhuwur)
- Baris (jembar)
- Warna (3)
wangun iku tuple saka unsur ndhuwur.
import cv2 im = cv2.imread('data/src/lena.jpg') print(type(im)) # <class 'numpy.ndarray'> print(im.shape) print(type(im.shape)) # (225, 400, 3) # <class 'tuple'>
Kanggo nemtokake saben nilai menyang variabel, unpack tuple kaya ing ngisor iki.
h, w, c = im.shape print('width: ', w) print('height: ', h) print('channel:', c) # width: 400 # height: 225 # channel: 3
_
Nalika mbongkar tuple, ing ndhuwur bisa diutus sacara konvensional minangka variabel kanggo nilai sing ora bakal digunakake sakwise. Contone, yen jumlah werna (jumlah saluran) ora digunakake, ing ngisor iki digunakake.
h, w, _ = im.shape print('width: ', w) print('height:', h) # width: 400 # height: 225
Uga bisa digunakake kanthi nemtokake kanthi indeks (indeks) tanpa menehi variabel.
print('width: ', im.shape[1]) print('height:', im.shape[0]) # width: 400 # height: 225
(width, height)
Yen sampeyan pengin njaluk tuple iki, sampeyan bisa nggunakake irisan lan nulis ing ngisor iki: cv2.resize (), etc.. Yen sampeyan pengin nemtokake bantahan dening ukuran, nggunakake iki.
print(im.shape[1::-1]) # (400, 225)
Kanggo gambar grayscale (monochrome).
Ing kasus gambar grayscale (monochrome), ndarray rong dimensi ing ngisor iki digunakake.
- Baris (dhuwur)
- Baris (jembar)
Bentuke bakal dadi tuple iki.
im_gray = cv2.imread('data/src/lena.jpg', cv2.IMREAD_GRAYSCALE) print(im_gray.shape) print(type(im_gray.shape)) # (225, 400) # <class 'tuple'>
Sejatine padha kanggo gambar werna.
h, w = im_gray.shape print('width: ', w) print('height:', h) # width: 400 # height: 225 print('width: ', im_gray.shape[1]) print('height:', im_gray.shape[0]) # width: 400 # height: 225
Yen sampeyan pengin nemtokake jembar lan dhuwur kanggo variabel, sampeyan bisa nindakake kaya ing ngisor iki, manawa gambar kasebut ana ing werna utawa abu-abu.
h, w = im.shape[0], im.shape[1] print('width: ', w) print('height:', h) # width: 400 # height: 225
(width, height)
Yen sampeyan pengin njaluk tuple iki, sampeyan bisa nggunakake irisan-irisan lan nulis kaya ing ngisor iki. Gaya nulis ing ngisor iki bisa digunakake manawa gambar kasebut werna utawa abu-abu.
print(im_gray.shape[::-1]) print(im_gray.shape[1::-1]) # (400, 225) # (400, 225)
Pillow(PIL):size, width, height:Entuk ukuran gambar (jembar, dhuwur)
Objek gambar sing dipikolehi kanthi maca gambar nganggo Bantal (PIL) nduweni atribut ing ngisor iki.
size
width
height
Ukuran kasebut minangka tuple ing ngisor iki.(width, height)
from PIL import Image im = Image.open('data/src/lena.jpg') print(im.size) print(type(im.size)) # (400, 225) # <class 'tuple'> w, h = im.size print('width: ', w) print('height:', h) # width: 400 # height: 225
Sampeyan uga bisa entuk jembar lan dhuwur minangka atribut.width
,height
print('width: ', im.width) print('height:', im.height) # width: 400 # height: 225
Semono uga kanggo gambar grayscale (monokrom).
im_gray = Image.open('data/src/lena.jpg').convert('L') print(im.size) print('width: ', im.width) print('height:', im.height) # (400, 225) # width: 400 # height: 225