Advertisement
czlowiekzgon

Untitled

Apr 3rd, 2019
97
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.49 KB | None | 0 0
  1. import numpy as np
  2. import matplotlib.pyplot as plt
  3. import math
  4.  
  5.  
  6. def kontrast(obraz,J):
  7. obraz[obraz > 1] = 1
  8. m = obraz.shape[0]
  9. n = obraz.shape[1]
  10. j=1/(m*n)
  11. obraz = (obraz - J) ** 2
  12. wynik = np.sum(obraz)
  13. wynik = np.sqrt(wynik * j)
  14. return wynik
  15.  
  16.  
  17. def jasnosc(obraz):
  18. obraz[obraz > 1] = 1
  19. m = obraz.shape[0]
  20. n = obraz.shape[1]
  21. j=1/(m*n)
  22. wynik = j*np.sum(obraz)
  23. return wynik
  24.  
  25.  
  26. obraz = plt.imread("kierowca.png")
  27. obraz = obraz[:,:,2]
  28.  
  29. wynikJasnosc = jasnosc(obraz)
  30. print("Jasnosc obrazu wynosi : " + str(wynikJasnosc))
  31. wynikKontrast = kontrast(obraz,wynikJasnosc)
  32. print("Kontrast obrazu wynosi : "+str(wynikKontrast))
  33.  
  34.  
  35. X = [i for i in np.arange(0.1,1,0.1)]
  36. YJplus = []
  37. YKplus = []
  38. YJmultiply = []
  39. YKmultiply = []
  40. YJpower = []
  41. YKpower = []
  42. YJsqrt = []
  43. YKsqrt = []
  44. YJlog = []
  45. YKlog = []
  46.  
  47. for x in X:
  48.  
  49. YJplus.append(jasnosc(obraz + x))
  50. YKplus.append(kontrast(obraz+x,YJplus[-1]))
  51. YJmultiply.append(jasnosc(obraz*x))
  52. YKmultiply.append(kontrast( obraz*x, YJmultiply[-1]) )
  53. YJpower.append(jasnosc(obraz ** x))
  54. YKpower.append(kontrast((obraz ** x), YJpower[-1]))
  55. if x ==0:
  56. YJsqrt.append(jasnosc(obraz ** (1/x) ))
  57. YKsqrt.append(kontrast(obraz ** (1/x), YJsqrt[-1] ))
  58. YJlog.append(jasnosc((np.log2(obraz)/np.log2(x))))
  59. YKlog.append(kontrast((np.log2(obraz)/np.log2(x)), YJlog[-1]))
  60. else:
  61. YJsqrt.append(jasnosc(obraz ** (1 / x+0.01)))
  62. YKsqrt.append(kontrast(obraz ** (1 / x+0.01), YJsqrt[-1]))
  63. YJlog.append(jasnosc((np.log2(obraz) / np.log2(x+0.01))))
  64. YKlog.append(kontrast((np.log2(obraz) / np.log2(x+0.01)), YJlog[-1]))
  65. plt.subplot(231)
  66. plt.plot(X,YJplus,label = "jasność")
  67. plt.plot(X,YKplus,label = "kontrast")
  68. plt.title("dodawanie stałej do obrazu")
  69. plt.legend()
  70. plt.grid()
  71. plt.subplot(232)
  72. plt.plot(X,YJmultiply,label = "jasność")
  73. plt.plot(X,YKmultiply,label = "kontrast")
  74. plt.title("mnożenie obrazu przez stałą")
  75. plt.legend()
  76. plt.grid()
  77. plt.subplot(233)
  78. plt.plot(X,YJpower,label = "jasność")
  79. plt.plot(X,YKpower,label = "kontrast")
  80. plt.title("potęgowanie obrazu")
  81. plt.legend()
  82. plt.grid()
  83. plt.subplot(234)
  84. plt.plot(X,YJsqrt,label = "jasność")
  85. plt.plot(X,YKsqrt,label = "kontrast")
  86. plt.title("pierwiastkowanie obrazu")
  87. plt.legend()
  88. plt.grid()
  89. plt.subplot(235)
  90. plt.plot(X,YJlog,label = "jasność")
  91. plt.plot(X,YKlog,label = "kontrast")
  92. plt.title("logarytmowanie obrazu")
  93. plt.legend()
  94. plt.grid()
  95. plt.show()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement