Что означает «ele» и правило этого кода в OpenCV - PullRequest
0 голосов
/ 25 июня 2019

Код для регулировки контрастности и яркости любого изображения, я понятия не имею, что означает cimg[i, j] = [int(ele) if ele < 255 else 255 for ele in lst]?особенно [int(ele) if ele < 255 else 255 for ele in lst], я не видел этих правил кода раньше, пожалуйста, помогите мне, спасибо, ребята!

Еще один вопрос, означает ли "ele" каждый элемент в массиве?

    for i in range(img.shape[0]):
        for j in range(img.shape[1]):
            lst = 0.1*cnum*img[i, j] + bnum
            cimg[i, j] = [int(ele) if ele < 255 else 255 for ele in lst]

1 Ответ

0 голосов
/ 25 июня 2019

Здесь код содержит Понимание списка . Это простой и чистый способ создания нового списка из итерируемого.

Этот код можно переписать без использования списка.

for i in range(img.shape[0]):
    for j in range(img.shape[1]):
        lst = 0.1 * cnum * img[i, j] + bnum
        pixel = list()
        for ele in lst:
           if ele < 255:
              pixel.append(int(ele))
           else:
              pixel.append(255)
        cimg[i, j] = pixel

Это хороший учебник для понимания понимания списка

...