Mercurial Hosting > traffic-intelligence
comparison trafficintelligence/cvutils.py @ 1125:b358bed29ab4
updates and bugs
author | Nicolas Saunier <nicolas.saunier@polymtl.ca> |
---|---|
date | Thu, 30 Jan 2020 10:17:07 -0500 |
parents | 956a66096e91 |
children | 7eb972942f22 |
comparison
equal
deleted
inserted
replaced
1118:234e2228fd30 | 1125:b358bed29ab4 |
---|---|
264 xmax = max(x) | 264 xmax = max(x) |
265 ymin = min(y) | 265 ymin = min(y) |
266 ymax = max(y) | 266 ymax = max(y) |
267 xMm = px * (xmax - xmin) | 267 xMm = px * (xmax - xmin) |
268 yMm = py * (ymax - ymin) | 268 yMm = py * (ymax - ymin) |
269 a = max(ymax - ymin + (2 * yMm), xmax - (xmin + 2 * xMm)) | 269 a = max(ymax - ymin + (2 * yMm), xmax - xmin + (2 * xMm)) |
270 yCropMin = int(max(0, .5 * (ymin + ymax - a))) | 270 yCropMin = int(max(0, .5 * (ymin + ymax - a))) |
271 yCropMax = int(min(height - 1, .5 * (ymin + ymax + a))) | 271 yCropMax = int(min(height - 1, .5 * (ymin + ymax + a))) |
272 xCropMin = int(max(0, .5 * (xmin + xmax - a))) | 272 xCropMin = int(max(0, .5 * (xmin + xmax - a))) |
273 xCropMax = int(min(width - 1, .5 * (xmin + xmax + a))) | 273 xCropMax = int(min(width - 1, .5 * (xmin + xmax + a))) |
274 return yCropMin, yCropMax, xCropMin, xCropMax | 274 return yCropMin, yCropMax, xCropMin, xCropMax |
275 | 275 |
276 def imageBox(img, obj, frameNum, width, height, px = 0.2, py = 0.2, minNPixels = 800): | 276 def imageBox(img, obj, frameNum, width, height, px = 0.2, py = 0.2, minNPixels = 800): |
277 'Computes the bounding box of object at frameNum' | 277 'Computes the bounding box of object at frameNum' |
278 yCropMin, yCropMax, xCropMin, xCropMax = imageBoxSize(obj, frameNum, width, height, px, py) | 278 yCropMin, yCropMax, xCropMin, xCropMax = imageBoxSize(obj, frameNum, width, height, px, py) |
279 if yCropMax != yCropMin and xCropMax != xCropMin and (yCropMax - yCropMin) * (xCropMax - xCropMin) > minNPixels: | 279 if yCropMax > yCropMin and xCropMax > xCropMin and (yCropMax - yCropMin) * (xCropMax - xCropMin) > minNPixels: |
280 return img[yCropMin : yCropMax, xCropMin : xCropMax] | 280 return img[yCropMin : yCropMax, xCropMin : xCropMax] |
281 else: | 281 else: |
282 return None | 282 return None |
283 | 283 |
284 def tracking(configFilename, grouping, videoFilename = None, dbFilename = None, homographyFilename = None, maskFilename = None, undistort = False, intrinsicCameraMatrix = None, distortionCoefficients = None, dryRun = False): | 284 def tracking(configFilename, grouping, videoFilename = None, dbFilename = None, homographyFilename = None, maskFilename = None, undistort = False, intrinsicCameraMatrix = None, distortionCoefficients = None, dryRun = False): |