Üdv mindenkinek.
Kellene egy kis segítség python programírásban.
Digitális képfeldolgozásról lenne szó.
A feladat lényege az lenne, hogy a programba beadok egy képet és ezen a képen egy olyan gammatranszformációt végzek el egy gamma értékkel, hogy a kapott kép integrálhisztogramjának a mediánja 127 legyen (megengedett pár százalékos eltérés).
úgy kellene megoldani, hogy a gamma értékét ne probálgatással határozzuk meg hanem egy adott képlettel.
Eddig megírtam a gammatranszformációt egy képletből és a programba be is tudom olvasni a képet de nem tudom, hogy hogyan kellene ezt az integrál hisztogramot kiszámolni.
Ez a program alul illetve túlexponált képeket normalizálna.
Ezt írtam:
import cv2
import numpy as np
import math
import sys
import os
import myhist
konyvtar=(r"C:\Users\Gergő\Desktop\digitkep") #konyvtar helyenek definialasa
os.chdir(konyvtar) #konyvtar megadasa
im=cv2.imread(r"kep1.jpg") #kep beolvasasa
hB=cv2.calcHist([im],[0], None, [256], [0,256])
HB=myhist.cumsum(hB)
Habra=np.zeros((300,500,3), np.uint8) #fekete háttér a hisztogramnak
Habra=myhist.draw_hist(Habra, HB, [100,100,100]) #hisztogram elkészítése (milyen színnel rajzolja ki)
cv2.imwrite("hist-B-cum.png", Habra) #hisztogram kiiratása
median=np.median(HB)
print median
eredménynek kiad egy: 116881.0 értéket ami szerintem nem jó.
Tudnátok abban segíteni, hogy hogyan kellene ezt az integrál hisztogramot kiszámítani?
Előre is köszönöm mindenkinek.