You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
55 lines
1.5 KiB
55 lines
1.5 KiB
import matplotlib.pyplot as plt |
|
import time |
|
from skimage.feature import hog |
|
from skimage import data, exposure |
|
import face_recognition |
|
import cv2 |
|
|
|
|
|
image = data.astronaut() |
|
image = face_recognition.load_image_file("testimage.png") |
|
|
|
face_location = face_recognition.face_locations(image) |
|
# print(image) |
|
|
|
fd, hog_image = hog(image, orientations=8, pixels_per_cell=(16, 16), |
|
cells_per_block=(1, 1), visualize=True, multichannel=True) |
|
|
|
fig, (ax1, ax2) = plt.subplots(1, 2, figsize=(8, 4), sharex=True, sharey=True) |
|
|
|
ax1.axis('off') |
|
ax1.imshow(image, cmap=plt.cm.gray) |
|
ax1.set_title('Input image') |
|
|
|
# Rescale histogram for better display |
|
hog_image_rescaled = exposure.rescale_intensity(hog_image, in_range=(0, 10)) |
|
|
|
ax2.axis('off') |
|
ax2.imshow(hog_image_rescaled, cmap=plt.cm.gray) |
|
ax2.set_title('Histogram of Oriented Gradients') |
|
plt.show() |
|
|
|
print('done') |
|
|
|
|
|
|
|
# # Display the results |
|
# (top, right, bottom, left) = face_location[0] |
|
# # Scale back up face locations since the frame we detected in was scaled to 1/4 size |
|
# top *= 4 |
|
# right *= 4 |
|
# bottom *= 4 |
|
# left *= 4 |
|
|
|
# # Draw a box around the face |
|
# cv2.rectangle(image, (left, top), (right, bottom), (0, 0, 255), 2) |
|
|
|
# # Draw a label with a name below the face |
|
# cv2.rectangle(image, (left, bottom - 35), (right, bottom), (0, 0, 255), cv2.FILLED) |
|
# font = cv2.FONT_HERSHEY_DUPLEX |
|
# cv2.putText(image, '...', (left + 6, bottom - 6), font, 1.0, (255, 255, 255), 1) |
|
|
|
# # Display the resulting image |
|
# cv2.imshow('Video', image) |
|
|
|
# time.sleep(10) |