Python, OpenCV: aumentando o brilho da imagem sem sobrecarregar a matriz UINT8
Estou tentando aumentar o brilho de uma imagem em escala de cinza.cv2.imread()
retorna uma matriz numpy. Estou adicionando valor inteiro a todos os elementos da matriz. Teoricamente, isso aumentaria cada um deles. Depois disso, eu seria capaz de colocar o limite superior de 255 e obter a imagem com o brilho mais alto.
Aqui está o código:
grey = cv2.imread(path+file,0)
print type(grey)
print grey[0]
new = grey + value
print new[0]
res = np.hstack((grey, new))
cv2.imshow('image', res)
cv2.waitKey(0)
cv2.destroyAllWindows()
No entanto, a rotina interna do OpenCV aparentemente faz algo assim:
new_array = old_array % 255
Todo valor de intensidade de pixel maior que 255 se torna o restante da divisão por 255.
Como resultado, estou ficando escuro em vez de completamente branco.
Aqui está a saída:
<type 'numpy.ndarray'>
[115 114 121 ..., 170 169 167]
[215 214 221 ..., 14 13 11]
E aqui está a imagem:
Como posso desligar esse mecanismo restante? Existe alguma maneira melhor de aumentar o brilho no OpenCV?