Python, OpenCV र Pillow (PIL) को साथ छवि आकार (चौडाइ र उचाइ) प्राप्त गर्दै

व्यापार

पाइथनमा छविहरू ह्यान्डल गर्नका लागि धेरै पुस्तकालयहरू छन्, जस्तै OpenCV र Pillow (PIL)। यो खण्डले प्रत्येकको लागि छवि आकार (चौडाइ र उचाइ) कसरी प्राप्त गर्ने भनेर वर्णन गर्दछ।

तपाईंले OpenCV का लागि आकार र पिलो (PIL) को लागि आकार प्रयोग गरेर टपलको रूपमा छवि आकार (चौडाइ र उचाइ) प्राप्त गर्न सक्नुहुन्छ, तर ध्यान दिनुहोस् कि प्रत्येकको क्रम फरक छ।

निम्न जानकारी यहाँ प्रदान गरिएको छ।

  • OpenCV
    • ndarray.shape:छवि आकार (चौडाइ, उचाइ) प्राप्त गर्नुहोस्
      • रंग तस्बिरहरूको लागि
      • ग्रेस्केल (मोनोक्रोम) छविहरूको लागि
  • Pillow(PIL)
    • size,width,height:छवि आकार (चौडाइ, उचाइ) प्राप्त गर्नुहोस्

छवि आकार (साइज) को सट्टा फाइलको साइज (क्षमता) कसरी प्राप्त गर्ने भन्ने ’bout निम्न लेख हेर्नुहोस्।

OpenCV:ndarray.shape:छवि आकार (चौडाइ, उचाइ) प्राप्त गर्नुहोस्

जब छवि फाइल OpenCV मा लोड हुन्छ, यसलाई NumPy array ndarray को रूपमा व्यवहार गरिन्छ, र छविको आकार (चौडाइ र उचाइ) विशेषता आकारबाट प्राप्त गर्न सकिन्छ, जसले ndarray को आकारलाई संकेत गर्दछ।

OpenCV मा मात्र होइन, तर जब छवि फाइल पिलोमा लोड हुन्छ र ndarray मा रूपान्तरण गरिन्छ, ndarray द्वारा प्रतिनिधित्व गरिएको छविको आकार आकार प्रयोग गरेर प्राप्त गरिन्छ।

रंग तस्बिरहरूको लागि

रङ छविहरूको मामलामा, निम्न त्रि-आयामी ndarray प्रयोग गरिन्छ।

  • पङ्क्ति (उचाइ)
  • पङ्क्ति (चौडाइ)
  • रङ (३)

आकार माथिका तत्वहरूको टुपल हो।

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

चरमा प्रत्येक मान तोक्न, निम्नानुसार टपल अनप्याक गर्नुहोस्।

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

_
टपल अनप्याक गर्दा, माथिको परम्परागत रूपमा मानहरूको लागि चलको रूपमा तोकिएको हुन सक्छ जुन त्यसपछि प्रयोग गरिने छैन। उदाहरणका लागि, यदि रङहरूको संख्या (च्यानलहरूको संख्या) प्रयोग गरिएको छैन भने, निम्न प्रयोग गरिन्छ।

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

यसलाई चरमा असाइन नगरिकन अनुक्रमणिका (सूचकांक) द्वारा निर्दिष्ट गरेर जस्तै प्रयोग गर्न सकिन्छ।

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

(width, height)
यदि तपाइँ यो टपल प्राप्त गर्न चाहनुहुन्छ भने, तपाइँ स्लाइस प्रयोग गर्न सक्नुहुन्छ र निम्न लेख्न सक्नुहुन्छ: cv2.resize(), आदि। यदि तपाइँ आकार द्वारा तर्क निर्दिष्ट गर्न चाहनुहुन्छ भने, यो प्रयोग गर्नुहोस्।

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

ग्रेस्केल (मोनोक्रोम) छविहरूको लागि

ग्रेस्केल (मोनोक्रोम) छविहरूको मामलामा, निम्न दुई-आयामी ndarray प्रयोग गरिन्छ।

  • पङ्क्ति (उचाइ)
  • पङ्क्ति (चौडाइ)

आकार यो टपल हुनेछ।

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

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

मूलतया रङ छविहरूको लागि जस्तै।

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

यदि तपाइँ चरहरूमा चौडाइ र उचाइ तोक्न चाहनुहुन्छ भने, तपाइँ निम्नानुसार गर्न सक्नुहुन्छ, चाहे छवि रंग वा ग्रेस्केलमा होस्।

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

(width, height)
यदि तपाइँ यो टपल प्राप्त गर्न चाहनुहुन्छ भने, तपाइँ स्लाइसहरू प्रयोग गर्न सक्नुहुन्छ र यसलाई निम्न रूपमा लेख्न सक्नुहुन्छ। छवि रंग वा ग्रेस्केलमा भए तापनि निम्न लेखन शैली प्रयोग गर्न सकिन्छ।

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

Pillow(PIL):size, width, height:छवि आकार (चौडाइ, उचाइ) प्राप्त गर्नुहोस्

पिलो (PIL) को साथ छवि पढेर प्राप्त गरिएको छवि वस्तुमा निम्न विशेषताहरू छन्।

  • size
  • width
  • height

आकार निम्न tuple छ।
(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

तपाईले गुणको रूपमा क्रमशः चौडाइ र उचाइ पनि प्राप्त गर्न सक्नुहुन्छ।
width,height

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

ग्रेस्केल (मोनोक्रोम) छविहरूको लागि पनि यही सत्य हो।

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