Ich versuche die Helligkeit eines Graustufenbildes zu erhöhen. cv2.imread()
gibt ein numpy Array zurück. Ich füge jedem Element des Arrays einen ganzzahligen Wert hinzu. Theoretisch würde dies jeden von ihnen erhöhen. Danach wäre ich in der Lage, den oberen Schwellenwert von 255 zu setzen und das Bild mit der höheren Helligkeit zu erhalten. HierPython, OpenCV: Erhöhung der Bildhelligkeit ohne überlaufendes UINT8-Array
ist der Code:
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()
jedoch interne OpenCV Routine tut scheinbar so ähnlich:
new_array = old_array % 255
Jeder Pixelintensitätswert höher als 255 wird ein Rest des Teilens von 255
Als Ergebnis werde ich dunkel statt komplett weiß. Hier
ist die Ausgabe:
<type 'numpy.ndarray'>
[115 114 121 ..., 170 169 167]
[215 214 221 ..., 14 13 11]
Und hier ist das Bild:
Wie kann ich diesen Rest Mechanismus ausschalten? Gibt es einen besseren Weg, die Helligkeit in OpenCV zu erhöhen?