Nowy Dokument Tekstowy

You might also like

Download as txt, pdf, or txt
Download as txt, pdf, or txt
You are on page 1of 3

import matplotlib.

pyplot as plt
import cv2
from PIL import Image
import numpy as np

def zad1(sciezka):
obraz = cv2.imread(sciezka)

maska = np.array([[-1, -1,-1],


[-1, 8,-1],
[-1, -1,-1]])

krawedzie = cv2.filter2D(obraz, -1, maska)

plt.figure(figsize=(20, 10))

plt.subplot(1, 2, 1)
plt.imshow(cv2.cvtColor(obraz, cv2.COLOR_BGR2RGB))
plt.title('Obraz oryginalny')
plt.axis('off')

plt.subplot(1, 2, 2)
plt.imshow(cv2.cvtColor(krawedzie, cv2.COLOR_BGR2RGB))
plt.title('Wykryte krawedzie')
plt.axis('off')

plt.show()
def zad2(sciezka):
maska = np.array([[0.393, 0.769, 0.189],
[0.349, 0.689, 0.168],
[0.272, 0.534, 0.131]])

obraz = cv2.imread(sciezka)
obraz = cv2.cvtColor(obraz, cv2.COLOR_BGR2RGB)
obraz = obraz / 255
nowy_obraz = np.dot(obraz, maska.T)
nowy_obraz = np.clip(nowy_obraz, 0, 1)
plt.figure(figsize=(20, 10))

plt.subplot(1, 2, 1)
plt.imshow(obraz)
plt.title('Obraz oryginalny')
plt.axis('off')

plt.subplot(1, 2, 2)
plt.imshow(nowy_obraz.astype(np.float32))
plt.title('Sepia')
plt.axis('off')

plt.show()

def zad3(sciezka):
maska = np.array([[0.229, 0.587, 0.114],
[0.500, -0.418, -0.082],
[-0.168, -0.331, 0.500]])
obraz = cv2.imread(sciezka)
obrazk = cv2.cvtColor(obraz, cv2.COLOR_BGR2RGB)
pomnozone = np.dot(obrazk, maska.T)
Y,Cr,Cb = cv2.split(pomnozone)
Cr = Cr + 128
Cb = Cb + 128
Y = Y/255
Cb = Cb/255
Cr = Cr/255

polaczenie = cv2.merge([Y*255,Cb*255-128, Cr*255-128])


rekonstrukcja = np.dot(polaczenie,np.linalg.inv(maska.T))

plt.figure(figsize=(20, 10))

plt.subplot(2, 3, 1)
plt.imshow(obrazk)
plt.title('Obraz oryginalny')
plt.axis('off')

plt.subplot(2, 3, 2)
plt.imshow(Y, cmap='grey')
plt.title('Y')
plt.axis('off')

plt.subplot(2, 3, 3)
plt.imshow(Cr, cmap='grey')
plt.title('Cr')
plt.axis('off')
plt.subplot(2, 3, 4)
plt.imshow(Cb, cmap='grey')
plt.title('Cb')
plt.axis('off')

plt.subplot(2, 3, 5)
plt.imshow(np.clip(polaczenie/255, 0, 1))
plt.title('Polaczenie')
plt.axis('off')

plt.subplot(2, 3, 6)
plt.imshow(cv2.cvtColor(np.clip((rekonstrukcja/255).astype(np.float32), 0, 1),
cv2.COLOR_BGR2RGB))
plt.title('Rekonstrukcja')
plt.axis('off')
plt.show()

def sc():
sciezka = input("Podaj sciezke do obrazu: ")
return sciezka
koniec = False

sciezka = sc()
while not koniec:

print('1.Zadanie 1 \n2.Zadanie 2\n3.Zadanie 3\n4.Zmien plik\n0.Wyjscie')


wybor = int(input('Podaj numer\n'))
if wybor == 1:
zad1(sciezka)
elif wybor == 2:
zad2(sciezka)
elif wybor == 3:
zad3(sciezka)
elif wybor == 4:
sciezka = sc()
else:
koniec = True

You might also like