lab002.py 3.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475
  1. from PIL import Image # Python Imaging Library
  2. import numpy as np
  3. # ZADANIE 1
  4. obrazek = Image.open("obrazek.bmp") # wczytywanie obrazu
  5. print("typ", obrazek.mode)
  6. print("format", obrazek.format)
  7. print("rozmiar", obrazek.size)
  8. obrazek2 = Image.open("obrazek2.jpg") # wczytywanie obrazu
  9. print("typ", obrazek2.mode)
  10. print("format", obrazek2.format)
  11. print("rozmiar", obrazek2.size)
  12. obrazek3 = Image.open("obrazek3.png") # wczytywanie obrazu
  13. print("typ", obrazek3.mode)
  14. print("format", obrazek3.format)
  15. print("rozmiar", obrazek3.size)
  16. dane_obrazka = np.array(obrazek)
  17. print("typ danych tablicy", dane_obrazka.dtype) # typ danych przechowywanych w tablicy
  18. print("rozmiar tablicy", dane_obrazka.shape) # rozmiar tablicy - warto porównac z wymiarami obrazka
  19. print("liczba elementow", dane_obrazka.size) # liczba elementów tablicy
  20. print("wymiar tablicy", dane_obrazka.ndim) # wymiar mówi czy to jest talica 1D, 2d, 3D ...
  21. print("wymiar wyrazu tablicy", dane_obrazka.itemsize) # pokazuje ile współrzednych trzeba do opisania wyrazu tablicy (piksela)
  22. print("pierwszy wyraz", dane_obrazka[0][0])
  23. print("drugi wyraz", dane_obrazka[1][0])
  24. print("***************************************")
  25. print(dane_obrazka)
  26. dane_obrazka2 = np.asarray(obrazek2)
  27. print("typ danych tablicy", dane_obrazka2.dtype) # typ danych przechowywanych w tablicy
  28. print("rozmiar tablicy", dane_obrazka2.shape) # rozmiar tablicy - warto porównac z wymiarami obrazka
  29. print("liczba elementow", dane_obrazka2.size) # liczba elementów tablicy
  30. print("wymiar tablicy", dane_obrazka2.ndim) # wymiar mówi czy to jest talica 1D, 2d, 3D ...
  31. print("wymiar wyrazu tablicy", dane_obrazka2.itemsize) # pokazuje ile współrzednych trzeba do opisania wyrazu tablicy (piksela)
  32. print("pierwszy wyraz", dane_obrazka2[0][0])
  33. print("drugi wyraz", dane_obrazka2[1][0])
  34. print("***************************************")
  35. print(dane_obrazka2)
  36. dane_obrazka3 = np.asarray(obrazek3)
  37. print("typ danych tablicy", dane_obrazka3.dtype) # typ danych przechowywanych w tablicy
  38. print("rozmiar tablicy", dane_obrazka3.shape) # rozmiar tablicy - warto porównac z wymiarami obrazka
  39. print("liczba elementow", dane_obrazka3.size) # liczba elementów tablicy
  40. print("wymiar tablicy", dane_obrazka3.ndim) # wymiar mówi czy to jest talica 1D, 2d, 3D ...
  41. print("wymiar wyrazu tablicy", dane_obrazka3.itemsize) # pokazuje ile współrzednych trzeba do opisania wyrazu tablicy (piksela)
  42. print("pierwszy wyraz", dane_obrazka3[0][0])
  43. print("drugi wyraz", dane_obrazka3[1][0])
  44. print("***************************************")
  45. print(dane_obrazka3)
  46. # obrazy różnią się formatem (png,jpeg,bmp)
  47. ### ZADANIE 2
  48. nowa_t1 = np.loadtxt("dane2.txt", dtype = np.bool_ )
  49. # nowa_t1 *= 255
  50. print(nowa_t1)
  51. print("***************************************")
  52. print(dane_obrazka)
  53. porownanie = nowa_t1 == dane_obrazka
  54. ### brak atrybutu all?
  55. czy_rowne = porownanie.all()
  56. print(czy_rowne)
  57. print(np.sum(dane_obrazka))
  58. print(np.sum(nowa_t1))
  59. ### ZADANIE 3
  60. obraz = Image.fromarray(nowa_t1)
  61. obraz.show()
  62. ### ZADANIE 4
  63. t2 = np.loadtxt("dane2.txt", dtype = np.uint8 )
  64. obraz2 = Image.fromarray(t2 * 255)
  65. print("TYP: ", obraz2.mode)
  66. obraz2.show()