brightness.py 1.1 KB

123456789101112131415161718192021222324252627282930313233343536
  1. import cv2
  2. import numpy as np
  3. def nothing(x):
  4. pass
  5. def brightness(img):
  6. cv2.namedWindow('image')
  7. cv2.createTrackbar('val', 'image', 100, 150, nothing)
  8. while True:
  9. hsv = cv2.cvtColor(img, cv2.COLOR_BGR2HSV)
  10. hsv = np.array(hsv, dtype=np.float64)
  11. val = cv2.getTrackbarPos('val', 'image')
  12. val = val/100 # dividing by 100 to get in range 0-1.5
  13. # scale pixel values up or down for channel 1(Saturation)
  14. hsv[:, :, 1] = hsv[:, :, 1] * val
  15. hsv[:, :, 1][hsv[:, :, 1] > 255] = 255 # setting values > 255 to 255.
  16. # scale pixel values up or down for channel 2(Value)
  17. hsv[:, :, 2] = hsv[:, :, 2] * val
  18. hsv[:, :, 2][hsv[:, :, 2] > 255] = 255 # setting values > 255 to 255.
  19. hsv = np.array(hsv, dtype=np.uint8)
  20. res = cv2.cvtColor(hsv, cv2.COLOR_HSV2BGR)
  21. cv2.imshow("original", img)
  22. cv2.imshow('image', res)
  23. if cv2.waitKey(1) & 0xFF == ord('q'):
  24. break
  25. cv2.destroyAllWindows()
  26. if __name__ == "__main__":
  27. img = cv2.imread("image.jpg")
  28. brightness(img)