from skimage.transform import pyramid_gaussian
from sklearn.externals import joblib
from skimage import color
from skimage import io
from imutils.object_detection import non_max_suppression
import imutils
import numpy as np
import cv2
import os
import glob
orientations = 9
pixels_per_cell = (8, 8)
cells_per_block = (2, 2)
threshold = .3
def sliding_window(image, stepSize, windowSize):
for y in range(0, image.shape[0], stepSize):
for x in range(0, image.shape[1], stepSize):
yield (x, y, image[y: y + windowSize[1], x:x + windowSize[0]])
model = joblib.load('model_name.npy')
scale = 0
detections = []
img= cv2.imread("pos\56_resized.jpg")
(winW, winH)= (180,320)
windowSize=(winW,winH)
downscale=1.5
for resized in pyramid_gaussian(img, downscale=1.5):
for (x,y,window) in sliding_window(resized, stepSize=10, windowSize=(winW,winH)):
if window.shape[0] != winH or window.shape[1] !=winW:
continue
window=color.rgb2gray(window)
fds = hog(window, orientations, pixels_per_cell, cells_per_block, block_norm='L2')
fds = fds.reshape(1, -1)
pred = model.predict(fds)
if pred == 1:
if model.decision_function(fds) > 0.6:
print("Detection:: Location -> ({}, {})".format(x, y))
print("Scale -> {} | Confidence Score {} \n".format(scale,model.decision_function(fds)))
detections.append((int(x*(downscale**scale)),int(y*(downscale**scale)),model.decision_function(fds),int(windowSize[0]*(downscale**scale)),int(windowSize[1]*(downscale**scale))
scale+=1
** Traceback ValueError (последний вызов был последним) в ----> 1 для img1 в pyramid_gaussian (img, downscale = 2): 2 для (x, y, window) в slide_window (resized, stepSize = 10, windowSize = (winW, winH)): 3, если window.shape [0]! = winH или window.shape [1]! = winW: 4 продолжить 5 window = color.rgb2gray (window)
D: \ Anaconda3 \ lib \ site-packages \ skimage \ transform \ pyramids.py в pyramid_gaussian (image, max_layer, downscale, sigma, order, mode, cval, многоканальный) 195 196 # приведение к плаванию для получения согласованных данныхвведите пирамиду -> 197 image = img_as_float (изображение) 198 199 layer = 0
D: \ Anaconda3 \ lib \ site-packages \ skimage \ util \ dtype.py в img_as_float (image, force_copy) 411412 "" "-> 413 return convert (изображение, np.floating, force_copy) 414 415
D: \ Anaconda3 \ lib \ site-packages \ skimage \ util \ dtype.py в конверте (изображение,dtype, force_copy ,iform) 124, если нет (dtype_in в _supported_types и dtype_out в _supported_types): 125 повысить ValueError («Не удается преобразовать из {} в {}. "-> 126 .format (dtypeobj_in, dtypeobj_out)) 127 128 def sign_loss ():
ValueError: Невозможно преобразовать объект в float64.
**