Как настроить яркость, контраст и вибрацию с помощью OpenCV Python? - PullRequest
0 голосов
/ 22 мая 2018

Я новичок в обработке изображений.Я программирую на Python3 и использую библиотеку обработки изображений OpenCV. Я хочу настроить следующие атрибуты.

  1. Яркость
  2. Контрастность
  3. Вибрация
  4. Оттенок
  5. Насыщенность
  6. Легкость

Для 4, 5, 6. Я использую следующий код для преобразования в пространство HSV.

hsv = cv2.cvtColor(img, cv2.COLOR_BGR2HSV)
h, s, v = cv2.split(hsv)
h += value # 4
s += value # 5
v += value # 6
final_hsv = cv2.merge((h, s, v))
img = cv2.cvtColor(final_hsv, cv2.COLOR_HSV2BGR)

Единственное учебное пособие, которое я нашел для 1 и 2, это здесь .Учебник использует C ++, но я программирую на Python.Кроме того, я не знаю, как настроить 3. вибрации.Я был бы очень признателен за помощь, спасибо!

Ответы [ 2 ]

0 голосов
/ 13 сентября 2018

простой способ для яркости, подходящий для цвет и монохромный изображения

img = cv2.imread('your path',0)
brt = 40  // value could be + or - for brightness or darkness

img[img < 255-brt] += brt    //change any value in the 2D list < max limit

cv2.imshow('img'+ img)

входное изображение

выходное изображение

0 голосов
/ 23 мая 2018

Спасибо @MarkSetchell за предоставленную ссылку.Короче говоря, ответы используют только NumPy и формула может быть представлена, как показано ниже.

new_image = (old_image) × (контраст / 127 + 1) - контраст + яркость

Здесь контраст и яркость - целые числа в диапазоне [-127,127].Скаляр 127 используется для этого диапазона.Также ниже приведен код, который я использовал.

brightness = 50
contrast = 30
img = np.int16(img)
img = img * (contrast/127+1) - contrast + brightness
img = np.clip(img, 0, 255)
img = np.uint8(img)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...