changeset 935:0e63a918a1ca

updated classify-objects
author Nicolas Saunier <nicolas.saunier@polymtl.ca>
date Fri, 14 Jul 2017 16:30:57 -0400
parents 39691b460fca
children 56cc8a1f7082
files python/cvutils.py python/moving.py python/storage.py scripts/classify-objects.py
diffstat 4 files changed, 9 insertions(+), 9 deletions(-) [+]
line wrap: on
line diff
--- a/python/cvutils.py	Fri Jul 14 15:36:59 2017 -0400
+++ b/python/cvutils.py	Fri Jul 14 16:30:57 2017 -0400
@@ -672,7 +672,7 @@
     def HOG(image, rescaleSize = (64, 64), orientations=9, pixelsPerCell=(8,8), cellsPerBlock=(2,2), blockNorm='L1', visualize=False, normalize=False):
         bwImg = color.rgb2gray(image)
         inputImg = transform.resize(bwImg, rescaleSize)
-        features = hog(inputImg, orientations, pixelsPerCell, cellsPerBlock, blockNorm, visualize, normalize)
+        features = hog(inputImg, orientations, pixelsPerCell, cellsPerBlock, blockNorm, visualize, normalize, True)
         if visualize:
             from matplotlib.pyplot import imshow, figure, subplot
             hogViz = features[1]
--- a/python/moving.py	Fri Jul 14 15:36:59 2017 -0400
+++ b/python/moving.py	Fri Jul 14 16:30:57 2017 -0400
@@ -1581,7 +1581,7 @@
         # project feature positions
         if self.hasFeatures():
             for f in self.getFeatures():
-                pp = cvutils.projectArray(homography, f.getPositions().asArray(), intrinsicCameraMatrix, array(distortionCoefficients)).tolist()
+                pp = cvutils.worldToImageProject(f.getPositions().asArray(), intrinsicCameraMatrix, distortionCoefficients, homography).tolist()
                 f.positions = Trajectory(pp)
         self.userTypes = {}
 
--- a/python/storage.py	Fri Jul 14 15:36:59 2017 -0400
+++ b/python/storage.py	Fri Jul 14 16:30:57 2017 -0400
@@ -1423,7 +1423,7 @@
         else:
             invHomography = None
         intrinsicCameraMatrix = params.intrinsicCameraMatrix
-        distortionCoefficients = params.distortionCoefficients
+        distortionCoefficients = array(params.distortionCoefficients)
         undistortedImageMultiplication = params.undistortedImageMultiplication
         undistort = params.undistort
         firstFrameNum = params.firstFrameNum
--- a/scripts/classify-objects.py	Fri Jul 14 15:36:59 2017 -0400
+++ b/scripts/classify-objects.py	Fri Jul 14 16:30:57 2017 -0400
@@ -74,13 +74,13 @@
 width = int(capture.get(cv2.cv.CV_CAP_PROP_FRAME_WIDTH))
 height = int(capture.get(cv2.cv.CV_CAP_PROP_FRAME_HEIGHT))
 
-if undistort: # setup undistortion
+#if undistort: # setup undistortion
 #     [map1, map2] = cvutils.computeUndistortMaps(width, height, undistortedImageMultiplication, intrinsicCameraMatrix, distortionCoefficients)
 #     height, width = map1.shape
-    newImgSize = (int(round(width*undistortedImageMultiplication)), int(round(height*undistortedImageMultiplication)))
-    newCameraMatrix = cv2.getDefaultNewCameraMatrix(intrinsicCameraMatrix, newImgSize, True)
-else:
-    newCameraMatrix = None
+#    newImgSize = (int(round(width*undistortedImageMultiplication)), int(round(height*undistortedImageMultiplication)))
+#    newCameraMatrix = cv2.getDefaultNewCameraMatrix(intrinsicCameraMatrix, newImgSize, True)
+#else:
+#    newCameraMatrix = None
 
 pastObjects = []
 currentObjects = []
@@ -100,7 +100,7 @@
             #    img = cv2.remap(img, map1, map2, interpolation=cv2.INTER_LINEAR)            
             for obj in objects:
                 if obj.getFirstInstant() <= frameNum: # if images are skipped
-                    obj.initClassifyUserTypeHoGSVM(speedAggregationFunc, pedBikeCarSVM, bikeCarSVM, classifierParams.maxPedestrianSpeed, classifierParams.maxCyclistSpeed, classifierParams.nFramesIgnoreAtEnds, invHomography, newCameraMatrix, distortionCoefficients)
+                    obj.initClassifyUserTypeHoGSVM(speedAggregationFunc, pedBikeCarSVM, bikeCarSVM, classifierParams.maxPedestrianSpeed, classifierParams.maxCyclistSpeed, classifierParams.nFramesIgnoreAtEnds, invHomography, intrinsicCameraMatrix, distortionCoefficients)
                     currentObjects.append(obj)
                     objects.remove(obj)