Advertisement
jukaukor

skimage_numpy_gamma.py

Oct 29th, 2018
88
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.33 KB | None | 0 0
  1. # Kuvan lukeminen, näyttäminen, värikorjaus
  2. # scikit-imagen ja numpyn avulla
  3. # edellyttää että asennettuina on kirjastot
  4. # numpy, matplotlib, scipy, Pillow (PIL), scikit-image
  5. # nämä ovat automaattisesti mukana, jos käyttää Anaconda-pythonia
  6. # Juhani Kaukoranta 28.10.2018
  7. import math
  8. import numpy as np
  9. import skimage
  10. from skimage.viewer import ImageViewer
  11.  
  12. #
  13. # luetaan kuva kotihakemistosta numpy-matriisiksi
  14. kuva = skimage.io.imread('Varsova.jpg')
  15.  
  16. ImageViewer(kuva).show()
  17. # katsottiin varmuuden vuoksi kuvan tyyppi
  18. # kuvan värikanavat voivat olla RGB tai RGBA
  19. print("kuvan pikselikoko ja värikanavien määrä = ",kuva.shape)
  20.  
  21. # harmaan pikselin väriarvot skaalattu 0..1 välille
  22. r, g , b = 214./255, 200./255, 199./255
  23. print("r= ",r," g= ",g," b= ",b)
  24. # punaisen ja sinisen gammakorjaukset
  25. gamr = math.log(g)/math.log(r)
  26. gamb = math.log(g)/math.log(b)
  27. print("gamr = ",gamr," gamb = ",gamb)
  28. #
  29. # R korjataan, G ennallaan, B korjataan, A (alpha) ennallaan
  30. color_corrector = [gamr,1,gamb]
  31. # kuvan väriarvot liukuluvuiksi, sitten gammakorjaukset
  32. # siniset ja punaiset väriarvot korotetaan gamr,gamb-potensseihin
  33. corrected_float_kuva = (kuva/255)**color_corrector
  34. # muunnetaan väriarvot liukuluvuista kokonaisluvuksi 0..255
  35. # näytetään korjattu kuva
  36. ImageViewer(np.uint8(255*corrected_float_kuva)).show()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement