Dark frames get ignored now
This commit is contained in:
parent
038667ef09
commit
edfb6ad7e2
3 changed files with 22 additions and 7 deletions
10
cli/test.py
10
cli/test.py
|
|
@ -77,16 +77,12 @@ try:
|
||||||
height, width = frame.shape[:2]
|
height, width = frame.shape[:2]
|
||||||
|
|
||||||
# Create a histogram of the image with 8 values
|
# Create a histogram of the image with 8 values
|
||||||
hist = cv2.calcHist([frame],[0],None,[8],[0,256])
|
hist = cv2.calcHist([frame], [0], None, [8], [0, 256])
|
||||||
# Fill with the total values combined for percentage calulation
|
# All values combined for percentage calculation
|
||||||
hist_total = 0
|
hist_total = int(sum(hist)[0])
|
||||||
# Fill with the overal containing percentage
|
# Fill with the overal containing percentage
|
||||||
hist_perc = []
|
hist_perc = []
|
||||||
|
|
||||||
# Loop though all values to add them to the total
|
|
||||||
for value in hist:
|
|
||||||
hist_total += value[0]
|
|
||||||
|
|
||||||
# Loop though all values to calculate a pensentage and add it to the overlay
|
# Loop though all values to calculate a pensentage and add it to the overlay
|
||||||
for index, value in enumerate(hist):
|
for index, value in enumerate(hist):
|
||||||
value_perc = float(value[0]) / hist_total * 100
|
value_perc = float(value[0]) / hist_total * 100
|
||||||
|
|
|
||||||
13
compare.py
13
compare.py
|
|
@ -37,6 +37,8 @@ models = []
|
||||||
encodings = []
|
encodings = []
|
||||||
# Amount of frames already matched
|
# Amount of frames already matched
|
||||||
tries = 0
|
tries = 0
|
||||||
|
# Amount of ingnored dark frames
|
||||||
|
dark_tries = 0
|
||||||
|
|
||||||
# Try to load the face model from the models folder
|
# Try to load the face model from the models folder
|
||||||
try:
|
try:
|
||||||
|
|
@ -73,6 +75,16 @@ while True:
|
||||||
# Don't remove ret, it doesn't work without it
|
# Don't remove ret, it doesn't work without it
|
||||||
ret, frame = video_capture.read()
|
ret, frame = video_capture.read()
|
||||||
|
|
||||||
|
# Create a histogram of the image with 8 values
|
||||||
|
hist = cv2.calcHist([frame], [0], None, [8], [0, 256])
|
||||||
|
# All values combined for percentage calculation
|
||||||
|
hist_total = int(sum(hist)[0])
|
||||||
|
|
||||||
|
# Scrip the frame if it exceeds the threshold
|
||||||
|
if float(hist[0]) / hist_total * 100 > float(config.get("video", "dark_threshold")):
|
||||||
|
dark_tries += 1
|
||||||
|
continue
|
||||||
|
|
||||||
# Get the height and with of the image
|
# Get the height and with of the image
|
||||||
height, width = frame.shape[:2]
|
height, width = frame.shape[:2]
|
||||||
|
|
||||||
|
|
@ -123,6 +135,7 @@ while True:
|
||||||
print(" Used: " + str(scale_height) + "x" + str(scale_width))
|
print(" Used: " + str(scale_height) + "x" + str(scale_width))
|
||||||
|
|
||||||
print("\nFrames searched: " + str(frames) + " (" + str(round(float(frames) / (timings[4] - timings[2]), 2)) + " fps)")
|
print("\nFrames searched: " + str(frames) + " (" + str(round(float(frames) / (timings[4] - timings[2]), 2)) + " fps)")
|
||||||
|
print("Dark frames ignored: " + str(dark_tries))
|
||||||
print("Certainty of winning frame: " + str(round(match * 10, 3)))
|
print("Certainty of winning frame: " + str(round(match * 10, 3)))
|
||||||
|
|
||||||
# Catch older 3-encoding models
|
# Catch older 3-encoding models
|
||||||
|
|
|
||||||
|
|
@ -22,6 +22,12 @@ device_id = 1
|
||||||
# Speeds up face recognition but can make it less precise
|
# Speeds up face recognition but can make it less precise
|
||||||
max_height = 320
|
max_height = 320
|
||||||
|
|
||||||
|
# Because of flashing IR emitters, some frames can be completely unlit
|
||||||
|
# Skip the frame if the lowest 1/8 of the histogram is above this percentage
|
||||||
|
# of the total
|
||||||
|
# The lower this setting is, the more dark frames are ignored
|
||||||
|
dark_threshold = 50
|
||||||
|
|
||||||
[debug]
|
[debug]
|
||||||
# Show a short but detailed diagnostic report in console
|
# Show a short but detailed diagnostic report in console
|
||||||
end_report = false
|
end_report = false
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue