Advertisement
RynkunPokemon

aaa

May 21st, 2022
555
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 4.94 KB | None | 0 0
  1. from __future__ import print_function
  2. from __future__ import division
  3. import cv2
  4. import matplotlib.colors
  5. import numpy as np
  6. import argparse
  7. from matplotlib import pyplot as plt
  8. import matplotlib.image as mpimg
  9. from PIL import Image
  10. from numpy import random
  11.  
  12. def rgb2yuv(rgb_arr):
  13.     (row, col, _) = rgb_arr.shape
  14.     arr_yuv = np.zeros([row,col,3], dtype=np.uint8)
  15.  
  16.     for i in range(0,row):
  17.         for j in range(0,col):
  18.             arr_yuv[i][j][0] = (rgb_arr[i][j][0]*299 + rgb_arr[i][j][1]*587 + rgb_arr[i][j][2]*114 + 500) / 1000
  19.             arr_yuv[i][j][1]=(rgb_arr[i][j][0]*-0.16874 + rgb_arr[i][j][1]*-0.33126 + rgb_arr[i][j][2]*0.50000 + 500) / 1000
  20.             arr_yuv[i][j][2] = (rgb_arr[i][j][0] * 0.50000 + rgb_arr[i][j][1] * -0.41869 + rgb_arr[i][j][2] * -0.08131 + 500) / 1000
  21.     return arr_yuv
  22.  
  23.  
  24.  
  25. # parser = argparse.ArgumentParser(description='Code for Histogram Calculation tutorial.')
  26. # parser.add_argument('--input', help='Path to input image.', default='.jpg')
  27. # args = parser.parse_args()
  28. #
  29. # image = cv2.imread("obrazek.jpg",cv2.IMREAD_COLOR)
  30. # histSize = 256
  31. # histRange = (0, 256)
  32. # accumulate = False
  33. # hist_w = 512
  34. # hist_h = 400
  35. # bin_w = int(round( hist_w/histSize ))
  36. # histImage = np.zeros((hist_h, hist_w, 3), np.uint8)
  37. #
  38. # # b- 0 g- 1 r -2
  39. # red = image.copy()
  40. # red[:,:,0]=red[:,:,1]=0
  41. #
  42. #
  43. # green = image.copy()
  44. # green[:,:,0]=green[:,:,2]=0
  45. #
  46. # blue = image.copy()
  47. # blue[:,:,1]=blue[:,:,2]=0
  48. # B, G, R = cv2.split(image)
  49. #
  50. # #RGB NA YUV
  51. # image1 = Image.open("obrazek.jpg")
  52. # (w,h)=image1.size
  53. # arr_rgb = np.array(list(image1.getdata())).astype(np.uint8).reshape(h,w,3)
  54. #
  55. #
  56. # arr_yuv_cal = rgb2yuv(arr_rgb)
  57. # arr_ycal = np.zeros([h,w], dtype=np.uint8)
  58. # arr_ycal[:,:]=arr_yuv_cal[:,:,0]
  59. #
  60. #
  61. #
  62. # #Grayscale
  63. # img1 = mpimg.imread("obrazek.jpg")
  64. # Re,Ge,Bl = img1[:,:,0],img1[:,:,1],img1[:,:,2]
  65. # imgGray = 0.2898 * Re + 0.5870 * Ge + 0.1140* Bl
  66. #
  67. #
  68. # #Grayscale from AVG
  69. # image2=cv2.imread("obrazek.jpg",cv2.IMREAD_COLOR)
  70. # h1,w1 = image2.shape[:2]
  71. # for i in range(0,h1):
  72. #     for j in range(0,w1):
  73. #         b,g,r = image2[i,j]
  74. #         image2[i,j]=((int(r)+int(g)+int(b))/3)
  75. #
  76. # #Grayscale lightness
  77. # image3=cv2.imread("obrazek.jpg",cv2.IMREAD_COLOR)
  78. # h2,w2,_ = image3.shape[:3]
  79. # for i in range(0,h2):
  80. #     for j in range(0,w2):
  81. #          b1,g1,r1=image3[i,j]
  82. #          image3[i,j]=(int(max(r1,g1,b1))+int(min(r1,g1,b1)))/2
  83. #
  84. # #Grayscale luminosity
  85. # image4=cv2.imread("obrazek.jpg",cv2.IMREAD_COLOR)
  86. # h3,w3,_=image3.shape[:3]
  87. # for i in range(0,h3):
  88. #     for j in range(0,w3):
  89. #         b2,g2,r2=image4[i,j]
  90. #         image4[i,j]=0.21*r2+0.72*g2+0.07*b2
  91.  
  92. #Y from YUV cv2
  93. img = Image.open("obrazek.jpg")
  94. (w,h) = img.size
  95.  
  96. arr_rgb = np.array(list(img.getdata())).astype(np.uint8).reshape(h, w, 3)
  97. arr_y = np.zeros([h, w], dtype=np.uint8)
  98. arr_yuv_cal = rgb2yuv(arr_rgb)
  99. arr_ycal = np.zeros([h, w], dtype=np.uint8)
  100. arr_ycal[:, :] = arr_yuv_cal[:, :, 0]
  101.  
  102.  
  103. # W sumie to krawedzie znalazlo
  104.  
  105.  
  106.  
  107. ###!!! coś nie pykło
  108. #yuv=Image.fromarray((result*255).astype(np.uint8))
  109.  
  110.  
  111.  
  112. # b_hist = cv2.calcHist(B, [0], None, [256],[0,256]) #wyliczenie historgramu blue
  113. # g_hist = cv2.calcHist(G, [1], None, [256],[0,256]) #wyliczenie histogramu green
  114. # r_hist = cv2.calcHist(R, [2], None, [256],[0,256]) #wyliczenie histogramu red
  115. #
  116. # #!!!!!KIEDY UZYJE blue || green || red wyrzuca maly histogram
  117. #
  118. #
  119. #
  120. #
  121. # cv2.normalize(b_hist,b_hist,0,hist_h,cv2.NORM_MINMAX) #eliminacja zlych charakterystyk, podniesienie jakosci pixela
  122. # cv2.normalize(g_hist,g_hist,0,hist_h,cv2.NORM_MINMAX)#eliminacja zlych charakterystyk, podniesienie jakosci pixela
  123. # cv2.normalize(r_hist,r_hist,0,hist_h,cv2.NORM_MINMAX)#eliminacja zlych charakterystyk, podniesienie jakosci pixela
  124. #
  125. # for i in range(1, histSize):
  126. #     cv2.line(histImage, ( bin_w*(i-1), hist_h - int(b_hist[i-1]) ),
  127. #             ( bin_w*(i), hist_h - int(b_hist[i]) ),
  128. #             ( 255, 0, 0), 2)
  129. #     cv2.line(histImage, ( bin_w*(i-1), hist_h - int(g_hist[i-1]) ),
  130. #             ( bin_w*(i), hist_h - int(g_hist[i]) ),
  131. #             ( 0, 255, 0), 2)
  132. #     cv2.line(histImage, ( bin_w*(i-1), hist_h - int(r_hist[i-1]) ),
  133. #             ( bin_w*(i), hist_h - int(r_hist[i]) ),
  134. #             ( 0, 0, 255), 2)
  135.  
  136. # #Histogram
  137. # cv2.imshow('Source image', image)
  138. # cv2.imshow('calcHist Demo', histImage)
  139. # #Pojedyncze kolory
  140. # cv2.imshow("blue",blue)
  141. # cv2.imshow("red",red)
  142. # cv2.imshow("green",green)
  143. # #Grayscale w okreslonej skali
  144. # plt.imshow(imgGray,cmap='gray')
  145. # #Grayscale AVG
  146. # cv2.imshow("Grayscale AVG",image2)
  147. # #Gryscale lightness
  148. # cv2.imshow("Grayscale lighntess",image3)
  149. # #Grayscale luminosity
  150. # cv2.imshow("Grayscale luminosity",image4)
  151.  
  152. #Y
  153.  
  154. #img_yuv=cv2.imread("safdsaf.jpg",cv2.COLOR_RGB2YUV)
  155. #cv2.imshow("yuv2",img_yuv)
  156. #yuv.show()
  157.  
  158.  
  159.  
  160. #YUV w okreslonej skali
  161. plt.imshow(arr_ycal)
  162.  
  163.  
  164.  
  165. #wyswietlenie plota
  166. plt.show()
  167.  
  168.  
  169. #Wyswietlenie pojedynczych kolorow
  170. cv2.waitKey(0)
  171. cv2.destroyAllWindows()
  172.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement