from PIL import Image
from matplotlib.pyplot import imshow
import numpy as np
%matplotlib inline
img_lena = Image.open("images/lena.jpg").convert('RGB')
print(img_lena.width, img_lena.height, img_lena.mode, img_lena.format, type(img_lena))
imshow(img_lena)
# crop the rectangle given by (left, top, right, bottom) from the image
im_c = img_lena.crop((100,75,150,150))
imshow(im_c)
img_lena_array = np.array(img_lena)
#her değeri 50 arttır
for i in range(img_lena_array.shape[0]):
for j in range(img_lena_array.shape[1]):
for k in range(img_lena_array.shape[2]):
try:
if img_lena_array[i][j][k] + 50 <= 255:
img_lena_array[i][j][k] = img_lena_array[i][j][k] + 50
except IndexError:
continue
imshow(img_lena_array)
img_lena_array = np.array(img_lena)
#her değeri 50 düşür
for i in range(img_lena_array.shape[0]):
for j in range(img_lena_array.shape[1]):
for k in range(img_lena_array.shape[2]):
try:
if img_lena_array[i][j][k] - 50 >= 0:
img_lena_array[i][j][k] = img_lena_array[i][j][k] - 50
except IndexError:
continue
imshow(img_lena_array)
img_lena_array = np.array(img_lena)
#her değeri 50 düşür
for i in range(img_lena_array.shape[0]):
for j in range(img_lena_array.shape[1]):
for k in range(img_lena_array.shape[2]):
#bir eşik değeri belirlenip, o değerin altındaki pixel değerlerini düşürme veya değerin üzerindekileri arttırma
if img_lena_array[i][j][k] <= 127:
if img_lena_array[i][j][k] - 50 >= 0:
img_lena_array[i][j][k] = img_lena_array[i][j][k] - 50
else:
if img_lena_array[i][j][k] + 50 <= 255:
img_lena_array[i][j][k] = img_lena_array[i][j][k] + 50
imshow(img_lena_array)