From: Andreas Eversberg Date: Tue, 21 Jul 2015 19:31:23 +0000 (+0200) Subject: Change Optical Flow calculation from integer to float X-Git-Url: http://git.eversberg.eu/gitweb.cgi?p=colorize.git;a=commitdiff_plain;h=4fed44e68327690d61900dce163dad732899e6d9 Change Optical Flow calculation from integer to float --- diff --git a/src/opticalflow.c b/src/opticalflow.c index 72f9559..ff4a5c5 100644 --- a/src/opticalflow.c +++ b/src/opticalflow.c @@ -92,26 +92,26 @@ void *create_flow_maps(const double *img_prev_buffer, const double *img_next_buf size.width = width; size.height = height; if (img_prev_buffer) { - image_prev = cvCreateImage(size, IPL_DEPTH_8U, 1); + image_prev = cvCreateImage(size, IPL_DEPTH_32F, 1); } if (img_buffer) { - image = cvCreateImage(size, IPL_DEPTH_8U, 1); + image = cvCreateImage(size, IPL_DEPTH_32F, 1); } if (img_next_buffer) { - image_next = cvCreateImage(size, IPL_DEPTH_8U, 1); + image_next = cvCreateImage(size, IPL_DEPTH_32F, 1); } if (image_prev) { for (i = 0; i < height; i++) { for (j = 0; j < width; j++) { - CV_IMAGE_ELEM(image_prev, uchar, i, j) = img_prev_buffer[i*width+j] * 255.0; + CV_IMAGE_ELEM(image_prev, float, i, j) = img_prev_buffer[i*width+j] * 65535.0; } } } if (image) { for (i = 0; i < height; i++) { for (j = 0; j < width; j++) { - CV_IMAGE_ELEM(image, uchar, i, j) = img_buffer[i*width+j] * 255.0; + CV_IMAGE_ELEM(image, float, i, j) = img_buffer[i*width+j] * 65535.0; if (image_preview) CV_IMAGE_ELEM(image_preview, uchar, i, j) = (img_buffer[i*width+j] / 2) * 255.0; } @@ -120,7 +120,7 @@ void *create_flow_maps(const double *img_prev_buffer, const double *img_next_buf if (image_next) { for (i = 0; i < height; i++) { for (j = 0; j < width; j++) { - CV_IMAGE_ELEM(image_next, uchar, i, j) = img_next_buffer[i*width+j] * 255.0; + CV_IMAGE_ELEM(image_next, float, i, j) = img_next_buffer[i*width+j] * 65535.0; } } }