numpy ile görüntü oluşturma ve işleme

Untitled
In [2]:
import os
os.listdir()
Out[2]:
['.ipynb_checkpoints', 'smallgray.png', 'Untitled.ipynb']
In [18]:
ar=[[5, 9, 32496, 6, 3251,65 ,54],[],[]]
type(ar)
Out[18]:
list
In [56]:
import numpy as np
n=np.arange(27)
In [27]:
print("n.reshape(3,9): ",n.reshape(3,9))
n.reshape(3,9):  [[ 0  1  2  3  4  5  6  7  8]
 [ 9 10 11 12 13 14 15 16 17]
 [18 19 20 21 22 23 24 25 26]]
In [25]:
print("shape: ",n.shape)
print("size: ",n.size)
shape:  (27,)
size:  27
In [22]:
m=np.asarray( ar )
print(type(m))
<class 'numpy.ndarray'>
In [30]:
os.listdir()
Out[30]:
['.ipynb_checkpoints', 'smallgray.png', 'Untitled.ipynb']
In [29]:
import cv2
In [38]:
# numpy dizisi yazdıracaktır. resim tipi her zaman "uint8" dir.
img_gray=cv2.imread("smallgray.png",0)
print(img_gray)
cv2.imwrite("new_smallgray.png",img_gray)
[[187 158 104 121 143]
 [198 125 255 255 147]
 [209 134 255  97 182]]
Out[38]:
True
In [45]:
# kaçıncı indexten : kaçıncı indexe kadar(dahil değil)
print(img_gray[2,4])
print(img_gray[0:2])
print(img_gray[0:2,2:4])
182
[[187 158 104 121 143]
 [198 125 255 255 147]]
[[104 121]
 [255 255]]
In [48]:
#numpy iterationu. 2 boyutlu bir dizi olduğundan altındaki boyutu yazdırıyor.
print(img_gray)
for item in img_gray:
    print(item)
[187 158 104 121 143]
[198 125 255 255 147]
[209 134 255  97 182]
In [54]:
# 2 boyutlu bir diziyi tek boyutlu vektörü gibi gösterdik.
print(img_gray)
print(list(img_gray.flat))
for item in img_gray.flat:
    print(item)
[[187 158 104 121 143]
 [198 125 255 255 147]
 [209 134 255  97 182]]
[187, 158, 104, 121, 143, 198, 125, 255, 255, 147, 209, 134, 255, 97, 182]
187
158
104
121
143
198
125
255
255
147
209
134
255
97
182
In [60]:
# matrise eklemeler nasıl yapılır?
# horizontal yani yatay ekleme
ims=np.hstack( (img_gray,img_gray) )
ims
Out[60]:
array([[187, 158, 104, 121, 143, 187, 158, 104, 121, 143],
       [198, 125, 255, 255, 147, 198, 125, 255, 255, 147],
       [209, 134, 255,  97, 182, 209, 134, 255,  97, 182]], dtype=uint8)
In [62]:
# matrise eklemeler nasıl yapılır?
# vertical yani dikey ekleme
ims=np.vstack( (img_gray,img_gray) )
ims
Out[62]:
array([[187, 158, 104, 121, 143],
       [198, 125, 255, 255, 147],
       [209, 134, 255,  97, 182],
       [187, 158, 104, 121, 143],
       [198, 125, 255, 255, 147],
       [209, 134, 255,  97, 182]], dtype=uint8)
In [68]:
#lst=np.hsplit(ims,3) # 5 sütun var ve 3e bölmeye çalışıyoruz. tam bölünmez. HATA!
lst=np.vsplit(ims,3)
print(type(lst))  #Dikkaaat! bu bir liste tipi
print(lst)
print(lst[0])
<class 'list'>
[array([[187, 158, 104, 121, 143],
       [198, 125, 255, 255, 147]], dtype=uint8), array([[209, 134, 255,  97, 182],
       [187, 158, 104, 121, 143]], dtype=uint8), array([[198, 125, 255, 255, 147],
       [209, 134, 255,  97, 182]], dtype=uint8)]
[[187 158 104 121 143]
 [198 125 255 255 147]]

Yorumlar

Popüler Yayınlar