Можно ли отрегулировать яркость, чтобы она была более темной на изображении, используя opencv в python? - PullRequest
0 голосов
/ 04 марта 2020

Можно ли уменьшить область яркости, и я хочу получить результат, как показано ниже enter image description here

Это та часть, в которой я хочу, чтобы область яркости стала с
enter image description here

Ответы [ 2 ]

0 голосов
/ 04 марта 2020
  1. Определите область яркости вашего изображения. Мое решение состоит в том, что я посчитал каждый пиксель (значение канала> 100) в каждом столбце и определил ссылочный номер. Если число больше эталонного (я выбрал 55), я посчитал, что столбцы близки к яркому (255).
  2. После первого шага область яркости становится чистой, поэтому просто обрежьте эту область.
  3. Уменьшите яркость области. Полезная ссылка - здесь для уменьшения яркости.
  4. После уменьшения яркости просто замените ее исходной частью исходного изображения.

Вот решение для первый шаг и результат.

import cv2

img=cv2.imread("/ur/source/image/bright.png")
height, width, channels = img.shape

thresh = [100,100,100]
white = [255,255,255]
white_counter = 0

for x in range(0,width):
    for y in range(0,height):
        channels_xy = img[y,x]
        if all(channels_xy >= thresh):    
            white_counter += 1

    if(white_counter>55):
        for k in range(0,height): 
            img[k,x] = white

    white_counter = 0

cv2.imshow('Result',img)
cv2.waitKey(0)
cv2.destroyAllWindows()

Результат:

enter image description here

0 голосов
/ 04 марта 2020

Вы можете изменить яркость всего изображения, но я не уверен, как сделать его частью. Мне кажется, эта ссылка вам поможет.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...