Bi Python, OpenCV û Pillow (PIL) mezinahiya wêneyê (firahî û bilindahî) digirin

Dikan

Di Python de gelek pirtûkxane hene ji bo birêvebirina wêneyan, wek OpenCV û Pillow (PIL). Ev beş rave dike ka meriv çawa mezinahiya wêneyê (firahî û bilindî) ji bo her yek ji wan digire.

Hûn dikarin mezinahiya wêneyê (firahî û bilindahî) wekî şeklek ji bo OpenCV û mezinahî ji bo Pillow (PIL) bikar bînin, lê bala xwe bidin ku rêza her yekê cûda ye.

Agahiyên jêrîn li vir têne pêşkêş kirin.

  • OpenCV
    • ndarray.shape:Mezinahiya wêneyê (firahî, bilindahî) bistînin
      • Ji bo wêneyên rengîn
      • Ji bo wêneyên gewr (monochrome).
  • Pillow(PIL)
    • size,width,height:Mezinahiya wêneyê (firahî, bilindahî) bistînin

Binêre gotara jêrîn ka meriv çawa li şûna mezinahiya wêneyê (mezinahiya) mezinahiya (kapasîteya) pelê digire.

OpenCV:ndarray.shape:Mezinahiya wêneyê (firahî, bilindahî) bistînin

Dema ku pelek wêneyek di OpenCV-ê de tê barkirin, ew wekî nîgarek array NumPy tête hesibandin, û mezinahiya wêneyê (firahî û bilindahî) dikare ji şiklê taybetmendiyê, ku şeklê ndarray destnîşan dike, were wergirtin.

Ne tenê di OpenCV-ê de, lê di heman demê de dema ku pelek wêneyek li Pillow tê barkirin û veguheztinek ndarray, mezinahiya wêneya ku ji hêla ndarray ve hatî destnîşan kirin bi karanîna şeklê tê wergirtin.

Ji bo wêneyên rengîn

Di rewşên wêneyên rengîn de, nîgara sê-alî ya jêrîn tê bikar anîn.

  • Rêz (bilindî)
  • Rêz (firahî)
  • Reng (3)

şekl jimareyek ji hêmanên jorîn e.

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'>

Ji bo ku her nirxek ji guhêrbarek re were veqetandin, tabloyê wekî jêrîn vekin.

h, w, c = im.shape
print('width:  ', w)
print('height: ', h)
print('channel:', c)
# width:   400
# height:  225
# channel: 3

_
Dema ku tupleyek vekin, ya li jor dibe ku bi kevneşopî wekî guhêrbarek ji bo nirxên ku dê paşê neyê bikar anîn were destnîşan kirin. Bo nimûne, eger hejmara rengan (hejmara kanalan) neyê bikaranîn, jêrîn tê bikaranîn.

h, w, _ = im.shape
print('width: ', w)
print('height:', h)
# width:  400
# height: 225

Di heman demê de ew dikare wekî ku ye were bikar anîn bi destnîşankirina wê ji hêla index (index) ve bêyî ku ew li guhêrbarek were veqetandin.

print('width: ', im.shape[1])
print('height:', im.shape[0])
# width:  400
# height: 225

(width, height)
Heger tu dixwazî ​​vê tupleyê bistînî, tu dikarî perçeyê bi kar bînî û jêrîn binivîsî: cv2.resize(), hwd. Heke tu dixwazî ​​argumana li gor mezinbûnê diyar bikî, vê bikar bînin.

print(im.shape[1::-1])
# (400, 225)

Ji bo wêneyên gewr (monochrome).

Di rewşa wêneyên gewr (yekreng) de, nîgara du-alî ya jêrîn tê bikar anîn.

  • Rêz (bilindî)
  • Rêz (firahî)

Şêwe wê ev tûp be.

im_gray = cv2.imread('data/src/lena.jpg', cv2.IMREAD_GRAYSCALE)

print(im_gray.shape)
print(type(im_gray.shape))
# (225, 400)
# <class 'tuple'>

Di bingeh de ji bo wêneyên rengîn wekhev e.

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

Heke hûn dixwazin firehî û bilindahiyê bi guhêrbaran veqetînin, hûn dikarin bi vî rengî bikin, çi wêne bi reng be an bi rengê gewr be.

h, w = im.shape[0], im.shape[1]
print('width: ', w)
print('height:', h)
# width:  400
# height: 225

(width, height)
Heke hûn dixwazin vê tîpê bistînin, hûn dikarin perçeyan bikar bînin û wekî jêrîn binivîsin. Şêweya nivîsandina jêrîn dikare were bikar anîn ka wêne bi reng be an bi rengê gewr be.

print(im_gray.shape[::-1])
print(im_gray.shape[1::-1])
# (400, 225)
# (400, 225)

Pillow(PIL):size, width, height:Mezinahiya wêneyê (firahî, bilindahî) bistînin

Tişta wêneyê ku bi xwendina wêneyek bi Pillow (PIL) ve hatî wergirtin xwediyê taybetmendiyên jêrîn e.

  • size
  • width
  • height

Mezinahî jimareya jêrîn e.
(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

Her weha hûn dikarin bi rêzdarî wekî taybetmendî firehî û bilindahî bistînin.
width,height

print('width: ', im.width)
print('height:', im.height)
# width:  400
# height: 225

Heman tişt ji bo wêneyên gewr (monochrome) jî rast e.

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
Copied title and URL