Python-da OpenCV və Pillow (PIL) kimi şəkillərlə işləmək üçün bir neçə kitabxana var. Bu bölmə onların hər biri üçün şəkil ölçüsünü (en və hündürlük) necə əldə edəcəyinizi izah edir.
OpenCV üçün forma və Yastıq üçün ölçüdən (PIL) istifadə edərək şəkil ölçüsünü (en və hündürlüyü) tuple kimi əldə edə bilərsiniz, lakin nəzərə alın ki, hər birinin sırası fərqlidir.
Aşağıdakı məlumatlar burada verilir.
- OpenCV
ndarray.shape
:Şəklin ölçüsünü əldə edin (en, hündürlük)- Rəngli şəkillər üçün
- Boz tonlu (monoxrom) şəkillər üçün
- Pillow(PIL)
size
,width
,height
:Şəklin ölçüsünü əldə edin (en, hündürlük)
Şəkil ölçüsü (ölçüsü) əvəzinə faylın ölçüsünü (tutumunu) necə əldə etmək barədə aşağıdakı məqaləyə baxın.
- Əlaqədar Məqalələr:Python-da faylın və ya qovluğun (qovluğun) ölçüsünü əldə etmək
OpenCV:ndarray.shape:Şəklin ölçüsünü əldə edin (en, hündürlük)
OpenCV-də şəkil faylı yükləndikdə ona NumPy massivi ndarray kimi baxılır və şəklin ölçüsünü (en və hündürlük) ndarrayın formasını göstərən atribut şəklindən əldə etmək olar.
Təkcə OpenCV-də deyil, həm də şəkil faylı Pillow-a yükləndikdə və ndarray-a çevrildikdə, ndarray ilə təmsil olunan şəklin ölçüsü formadan istifadə etməklə əldə edilir.
Rəngli şəkillər üçün
Rəngli təsvirlər vəziyyətində aşağıdakı üçölçülü ndarray istifadə olunur.
- Sıra (hündürlük)
- Sıra (en)
- Rəng (3)
forma yuxarıdakı elementlərin bir dəstidir.
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ər bir dəyəri dəyişənə təyin etmək üçün dəsti aşağıdakı kimi açın.
h, w, c = im.shape print('width: ', w) print('height: ', h) print('channel:', c) # width: 400 # height: 225 # channel: 3
_
Tupleni açarkən yuxarıda göstərilənlər şərti olaraq bundan sonra istifadə edilməyəcək dəyərlər üçün dəyişən kimi təyin edilə bilər. Məsələn, rənglərin sayı (kanalların sayı) istifadə edilmirsə, aşağıdakılar istifadə olunur.
h, w, _ = im.shape print('width: ', w) print('height:', h) # width: 400 # height: 225
Onu dəyişənə təyin etmədən onu indeks (indeks) ilə təyin etməklə də olduğu kimi istifadə etmək olar.
print('width: ', im.shape[1]) print('height:', im.shape[0]) # width: 400 # height: 225
(width, height)
Əgər siz bu tuple əldə etmək istəyirsinizsə, dilimdən istifadə edib aşağıdakıları yaza bilərsiniz: cv2.resize() və s. Arqumenti ölçüyə görə təyin etmək istəyirsinizsə, bundan istifadə edin.
print(im.shape[1::-1]) # (400, 225)
Boz tonlu (monoxrom) şəkillər üçün
Boz rəngli (monoxrom) təsvirlər zamanı aşağıdakı ikiölçülü ndarray istifadə olunur.
- Sıra (hündürlük)
- Sıra (en)
Forma bu tuple olacaq.
im_gray = cv2.imread('data/src/lena.jpg', cv2.IMREAD_GRAYSCALE) print(im_gray.shape) print(type(im_gray.shape)) # (225, 400) # <class 'tuple'>
Əsasən rəngli şəkillərlə eynidir.
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
Dəyişənlərə eni və hündürlüyü təyin etmək istəyirsinizsə, şəklin rəngli və ya boz rəngdə olmasından asılı olmayaraq bunu aşağıdakı kimi edə bilərsiniz.
h, w = im.shape[0], im.shape[1] print('width: ', w) print('height:', h) # width: 400 # height: 225
(width, height)
Bu tuple əldə etmək istəyirsinizsə, dilimlərdən istifadə edib aşağıdakı kimi yaza bilərsiniz. Şəklin rəngli və ya boz rəngdə olmasından asılı olmayaraq aşağıdakı yazı üslubundan istifadə edilə bilər.
print(im_gray.shape[::-1]) print(im_gray.shape[1::-1]) # (400, 225) # (400, 225)
Pillow(PIL):size, width, height:Şəklin ölçüsünü əldə edin (en, hündürlük)
Pillow(PIL) ilə təsviri oxumaqla əldə edilən şəkil obyekti aşağıdakı atributlara malikdir.
size
width
height
Ölçü aşağıdakı tupledir.(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
Siz həmçinin atributlar kimi müvafiq olaraq eni və hündürlüyü əldə edə bilərsiniz.width
,height
print('width: ', im.width) print('height:', im.height) # width: 400 # height: 225
Eyni şey boz rəngli (monoxrom) şəkillər üçün də keçərlidir.
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
Python-da OpenCV və Pillow (PIL) kimi şəkillərlə işləmək üçün bir neçə kitabxana var. Bu bölmə onların hər biri üçün şəkil ölçüsünü (en və hündürlük) necə əldə edəcəyinizi izah edir.
OpenCV üçün forma və Yastıq üçün ölçüdən (PIL) istifadə edərək şəkil ölçüsünü (en və hündürlüyü) tuple kimi əldə edə bilərsiniz, lakin nəzərə alın ki, hər birinin sırası fərqlidir.
Aşağıdakı məlumatlar burada verilir.
- OpenCV
ndarray.shape
:Şəklin ölçüsünü əldə edin (en, hündürlük)- Rəngli şəkillər üçün
- Boz tonlu (monoxrom) şəkillər üçün
- Pillow(PIL)
size
,width
,height
:Şəklin ölçüsünü əldə edin (en, hündürlük)
Şəkil ölçüsü (ölçüsü) əvəzinə faylın ölçüsünü (tutumunu) necə əldə etmək barədə aşağıdakı məqaləyə baxın.
- Əlaqədar Məqalələr:Python-da faylın və ya qovluğun (qovluğun) ölçüsünü əldə etmək
OpenCV:ndarray.shape:Şəklin ölçüsünü əldə edin (en, hündürlük)
OpenCV-də şəkil faylı yükləndikdə ona NumPy massivi ndarray kimi baxılır və şəklin ölçüsünü (en və hündürlük) ndarrayın formasını göstərən atribut şəklindən əldə etmək olar.
Təkcə OpenCV-də deyil, həm də şəkil faylı Pillow-a yükləndikdə və ndarray-a çevrildikdə, ndarray ilə təmsil olunan şəklin ölçüsü formadan istifadə etməklə əldə edilir.
Rəngli şəkillər üçün
Rəngli təsvirlər vəziyyətində aşağıdakı üçölçülü ndarray istifadə olunur.
- Sıra (hündürlük)
- Sıra (en)
- Rəng (3)
forma yuxarıdakı elementlərin bir dəstidir.
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ər bir dəyəri dəyişənə təyin etmək üçün dəsti aşağıdakı kimi açın.
h, w, c = im.shape print('width: ', w) print('height: ', h) print('channel:', c) # width: 400 # height: 225 # channel: 3
_
Tupleni açarkən yuxarıda göstərilənlər şərti olaraq bundan sonra istifadə edilməyəcək dəyərlər üçün dəyişən kimi təyin edilə bilər. Məsələn, rənglərin sayı (kanalların sayı) istifadə edilmirsə, aşağıdakılar istifadə olunur.
h, w, _ = im.shape print('width: ', w) print('height:', h) # width: 400 # height: 225
Onu dəyişənə təyin etmədən onu indeks (indeks) ilə təyin etməklə də olduğu kimi istifadə etmək olar.
print('width: ', im.shape[1]) print('height:', im.shape[0]) # width: 400 # height: 225
(width, height)
Əgər siz bu tuple əldə etmək istəyirsinizsə, dilimdən istifadə edib aşağıdakıları yaza bilərsiniz: cv2.resize() və s. Arqumenti ölçüyə görə təyin etmək istəyirsinizsə, bundan istifadə edin.
print(im.shape[1::-1]) # (400, 225)
Boz tonlu (monoxrom) şəkillər üçün
Boz rəngli (monoxrom) təsvirlər zamanı aşağıdakı ikiölçülü ndarray istifadə olunur.
- Sıra (hündürlük)
- Sıra (en)
Forma bu tuple olacaq.
im_gray = cv2.imread('data/src/lena.jpg', cv2.IMREAD_GRAYSCALE) print(im_gray.shape) print(type(im_gray.shape)) # (225, 400) # <class 'tuple'>
Əsasən rəngli şəkillərlə eynidir.
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
Dəyişənlərə eni və hündürlüyü təyin etmək istəyirsinizsə, şəklin rəngli və ya boz rəngdə olmasından asılı olmayaraq bunu aşağıdakı kimi edə bilərsiniz.
h, w = im.shape[0], im.shape[1] print('width: ', w) print('height:', h) # width: 400 # height: 225
(width, height)
Bu tuple əldə etmək istəyirsinizsə, dilimlərdən istifadə edib aşağıdakı kimi yaza bilərsiniz. Şəklin rəngli və ya boz rəngdə olmasından asılı olmayaraq aşağıdakı yazı üslubundan istifadə edilə bilər.
print(im_gray.shape[::-1]) print(im_gray.shape[1::-1]) # (400, 225) # (400, 225)
Pillow(PIL):size, width, height:Şəklin ölçüsünü əldə edin (en, hündürlük)
Pillow(PIL) ilə təsviri oxumaqla əldə edilən şəkil obyekti aşağıdakı atributlara malikdir.
size
width
height
Ölçü aşağıdakı tupledir.(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
Siz həmçinin atributlar kimi müvafiq olaraq eni və hündürlüyü əldə edə bilərsiniz.width
,height
print('width: ', im.width) print('height:', im.height) # width: 400 # height: 225
Eyni şey boz rəngli (monoxrom) şəkillər üçün də keçərlidir.
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