-
Notifications
You must be signed in to change notification settings - Fork 40
Open
Description
def calc_histogram_(self, gray_arr, level = 256):
### calculate the histogram of a gray scale image
### @params gray_arr : numpy.array uint8 type, 2-dim
### @params level : the level of gray scale
### @return hists : list type
hists = [0 for _ in range(level)]
for row in gray_arr:
for p in row:
hists[p] += 1
return hists` def clip_histogram_(self, hists, threshold = 10.0):
### clip the peak of histogram, and separate it to all levels uniformly
### @params hists : list type
### @params threshold : the top ratio of hists over mean value
### @return clip_hists : list type
all_sum = sum(hists)
threshold_value = all_sum / len(hists) * threshold
total_extra = sum([h - threshold_value for h in hists if h >= threshold_value])
mean_extra = total_extra / len(hists)
clip_hists = [0 for _ in hists]
for i in range(len(hists)):
if hists[i] >= threshold_value:
clip_hists[i] = int(threshold_value + mean_extra)
else:
clip_hists[i] = int(hists[i] + mean_extra)
return clip_hists这些函数,在明确使用numpy的前提下,为什么还有这么多的List的操作呢?
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
No labels