Ask Your Question

Jenny's profile - activity

2021-03-26 03:45:56 -0500 received badge  Popular Question (source)
2018-09-12 02:42:50 -0500 received badge  Famous Question (source)
2017-07-28 04:07:38 -0500 received badge  Famous Question (source)
2017-07-07 03:03:03 -0500 received badge  Notable Question (source)
2016-10-08 20:29:20 -0500 received badge  Notable Question (source)
2016-01-27 23:29:14 -0500 received badge  Popular Question (source)
2016-01-03 15:41:53 -0500 received badge  Popular Question (source)
2015-11-09 07:25:03 -0500 received badge  Notable Question (source)
2015-03-19 00:22:54 -0500 received badge  Popular Question (source)
2014-11-10 09:53:36 -0500 asked a question How to calculate the degree of camera shake

I have a shaky video. In order to stabilize the video, I want to calculate the degree of shaky video or the magnitude of sudden change of the motion between two frames for smoothing motions. Anyone suggest for me?

2014-11-02 10:10:20 -0500 asked a question How to get filter coefficients of ButterWorth filter in C++

I am looking the code of Butter worth low pass filter in C++ to with second order in order to get filter coefficients of Butter Worth filter. A pseudocode would be helpful as well. And the number of filter coefficients A and B of Butter worth filter is equal, aren't they?

2014-10-31 01:17:40 -0500 asked a question How to calculate filter coefficients of low pass ButterWorth filter C++

I am looking for the function or the code in c++ to formulate filter coefficients of low pass Butter worth filter. Anyone can help me? Thank you.

2014-10-24 09:36:20 -0500 commented question B-spline smoothing

Hi, did you get the result? If you got it, please help me to do it. I also stuck at this. Thank you so much.

2014-07-25 09:12:36 -0500 commented question Smoothing motion by using Kalman Filter or Particle Filter in video stabilization

Thank you so much

2014-07-25 05:22:40 -0500 commented question Smoothing motion by using Kalman Filter or Particle Filter in video stabilization

Yes I know. But often we use particle filter in estimating global motion in video stabilization, and then use Kalman Filter to smooth motion. Why dont we use Particle filter to smooth motion?

2014-07-25 03:37:41 -0500 asked a question Smoothing motion by using Kalman Filter or Particle Filter in video stabilization

I have a problem. I have read many papers about video stabilization. Almost papers mention about smoothing motion by using Kalman Filter, so it's strong and run in real-time applications. But there is also another filter strongly, that is particle filter. But why dont we use Partilce filter in smoothing motion to create stabilized video? Some papers only use particle filter in estimating global motion between frames (motion estimation part). It is hard to understand them. Can anyone explain them for me, please? Thank you so much.

2014-06-08 08:31:36 -0500 commented answer Get smoothing point using B-spline curve C++

@kovand11: Thank you so much. I did it. About using B-spline curve to filter out points, that's a way I want to test it.

2014-06-07 07:35:05 -0500 asked a question Get smoothing point using B-spline curve C++

I'm working on video stabilization topic. At the smoothing part, I need smooth parameters (translation, rotation+scale) by using B-spline curve for warping in order to create stabilized video.

Now, I am testing on some points. For example, I have 4 points (control points) with degree = 2, after using b-spline I wanna obtain 4 smoothed points. But when I use B-spline curve sample code in below, it created more than 4 points. I can not understand exactly that those results points which are belong to original points (control points). If I only get 4 points, the results is like as 4 original points (4 control points).How to get 4 smoothed points by using B-Spline curve?

Hope you guys help me to show this problem.

Here is the code.

#include "stdafx.h"
#include <stdio.h>
#include <conio.h>
/*
Subroutine to generate a B-spline open knot vector with multiplicity
equal to the order at the ends.

c            = order of the basis function
n            = the number of defining polygon vertices
nplus2       = index of x() for the first occurence of the maximum knot vector value
nplusc       = maximum value of the knot vector -- $n + c$
x()          = array containing the knot vector
*/
void knot(int n, int c, int x[])
{
  int nplusc,nplus2,i;

  nplusc = n + c;
  nplus2 = n + 2;

  x[1] = 0;
  for (i = 2; i <= nplusc; i++){
  if ( (i > c) && (i < nplus2) )
      x[i] = x[i-1] + 1;
  else
     x[i] = x[i-1];
  }
}
/*  Subroutine to generate B-spline basis functions for open knot vectors

 C code for An Introduction to NURBS
 by David F. Rogers. Copyright (C) 2000 David F. Rogers,
 All rights reserved.

 Name: basis.c
 Language: C
 Subroutines called: none
 Book reference: p. 279

 c        = order of the B-spline basis function
 d        = first term of the basis function recursion relation
 e        = second term of the basis function recursion relation
 npts     = number of defining polygon vertices
 n[]      = array containing the basis functions
       n[1] contains the basis function associated with B1 etc.
 nplusc   = constant -- npts + c -- maximum number of knot values
 t        = parameter value
 temp[]   = temporary array
 x[]      = knot vector
 */  

 void basis(int c,float t, int npts,int x[],float n[])
 {
     int nplusc;
     int i,k;
     float d,e;
     float temp[36];

     nplusc = npts + c;

     /* calculate the first order basis functions n[i][1]    */

     for (i = 1; i<= nplusc-1; i++){
          if (( t >= x[i]) && (t < x[i+1]))
               temp[i] = 1;
          else
               temp[i] = 0;
     }

     /* calculate the higher order basis functions */

     for (k = 2; k <= c; k++){
         for (i = 1; i <= nplusc-k; i++){
              if (temp[i] != 0)/* if the lower order basis function is zero skip the                         calculation */
                   d = ((t-x[i])*temp[i])/(x[i+k-1]-x[i]);
              else
                   d = 0;

     if (temp[i+1] != 0)     /* if the lower order basis function is zero skip the calculation  */
        e = ((x[i+k]-t)*temp[i+1])/(x[i+k]-x[i+1]);
    else
        e = 0;

    temp[i] = d + e;
    }
  }

  if (t == (float)x[nplusc]){     /*    pick up last point    */
       temp[npts] = 1;
  }

  /* put in ...
(more)
2014-05-23 10:00:00 -0500 asked a question Smoothing data by using high degree B-spline Smoothing

I am working on video stabilization. After obtaining affine transformation parameters (translation, scale+rotation) between two consecutive frames, I need to smooth out them for stabilize purpose. To do that, I want to use B-Spline to smooth it. Any suggestion or explanation how to use B-Spline to smooth those parameter (translation x, translation y, scale+rotation a) or some code c++ to smooth those points.

Thank you in advance.

Here is illustrated figure about smoothing some points.

image description

2014-05-09 09:11:19 -0500 asked a question Fill out the black area in video stabilization

Hi everyone,

I am researching about video stabilization. In final step, I need to fill out the black area in video frame to acquire pleasant looking. I did it by normal way - use mosaic from previous and next frame of current frame to fill out (Just get the pixel value in valid area of previous/next frame into black area (undefined area)) But it is seem not good and deformed.

Here is the result: link text

I found some ways to improve it. The paper also use mosaicking, but so confused to understand it link text

Could you explain or suggest better way to fill out the black area, please?

Thank you in advance.

2014-05-08 07:18:54 -0500 commented answer Recontruct the undefined area using mosaicking

Yes. you are right.

2014-04-24 03:53:27 -0500 commented answer Recontruct the undefined area using mosaicking

Yes. Thank you so much, Haris bro. I tried it, its very good for image. But when i applied to video, the result video seem stretch. Let me show you the result: The warped video: http://www.youtube.com/watch?v=zc4Yutph2Ck The filled out video: http://www.youtube.com/watch?v=SRP-X3dnj7A

2014-04-23 06:32:36 -0500 commented answer Recontruct the undefined area using mosaicking

Is your meant src_pts?

2014-04-23 03:01:45 -0500 answered a question Recontruct the undefined area using mosaicking

bro, i meet a little error. I tested on some diff frames. But the result image is black image. Should I adjust the parameters in code?

The image:

image description

Result:

image description

2014-04-23 02:02:16 -0500 commented answer Recontruct the undefined area using mosaicking

thank you in advance, bro.

2014-04-22 06:41:50 -0500 commented answer Recontruct the undefined area using mosaicking

I need to fill out the black area of warped image based on previous or/and next image of warped imaged

2014-04-22 06:18:03 -0500 commented answer Recontruct the undefined area using mosaicking

The source image is image frame of unstable video. I stabilized the video with the image frame is stabilized. The image frame must be warped to align stabilize with other frames to create stable video.

2014-04-20 11:06:33 -0500 commented answer Recontruct the undefined area using mosaicking

Yes. Actually, the input image is the warped image in video. There are many original images and warped images as above sample image. (Warped images is the image that have black area).

2014-04-20 10:36:04 -0500 commented answer Recontruct the undefined area using mosaicking

Thank you so much, bro. But I have a question. We obtained the result image that filled out black area, but as you see, the filled area has a non-consistent with remain area. So the result is seem not good. How to get pleasant image.? Once again, thank you in advance.

2014-04-19 10:37:44 -0500 commented question Recontruct the undefined area using mosaicking

ah, for the video stabilization purpose, I need be stable video. To do that, I need the smooth image in video and warp it into a stabilized frame.

2014-04-19 09:23:25 -0500 commented question Recontruct the undefined area using mosaicking

Sorry, I do not understand your idea. Hope you sympathize cause i am newbie in this topic. I posted image before and after warping.

2014-04-19 08:29:31 -0500 commented question Recontruct the undefined area using mosaicking

Oh, Because I am working on video stabilization topic. If i use image before warping, it is not correct cause original image is unstable. I can not do that.

2014-04-18 06:36:39 -0500 commented question Recontruct the undefined area using mosaicking

What do your meant?

2014-04-16 07:17:13 -0500 asked a question Recontruct the undefined area using mosaicking

I am meeting the mosaicking problem. After warping the frame in video, undefined region appear near the edge of each frame. It was made unpleasant visual artifacts. Now, i want to use previous and next aligned frames to fill out the black region of current frame by using mosaicking. Could you explain how to do that or some code as an example, please? Thank you in advance.

Here is the example picture image description

A image before warping image description

A image after warping image description

2014-03-28 06:13:48 -0500 commented question Smooth point feature trajectories by Kalman Filter in Video Stabilization

Yes, let me try. Thank you so much.

2014-03-28 05:32:19 -0500 commented question Smooth point feature trajectories by Kalman Filter in Video Stabilization

Yes, just once for loop with m times

2014-03-28 05:04:22 -0500 commented question Smooth point feature trajectories by Kalman Filter in Video Stabilization

where is for loop?

2014-03-28 03:08:18 -0500 commented question Smooth point feature trajectories by Kalman Filter in Video Stabilization

I did it as your advice. But the result is same. Hic

2014-03-27 10:41:21 -0500 asked a question Smooth point feature trajectories by Kalman Filter in Video Stabilization

Now, I am researching the topic Video Stabilization. I selected good point features (PFs) to track based on Kanade-Lucas-Tomasi (KLT) tracker as a point feature tracker. After extract N PFs from the first image and tracking the PFs in the next image, Point Feature Trajectories (PFTs) are updated by connecting the tracked N PFs to previous PFTs. And continue,

Now I had a set of PFTs. I want to smooth this set of PFTs to create smooth point feature trajectories (SPFTs) by Kalman Filter. But this SPFTs is seemly like as PFTs. I dont know how to adjust the Kalman Filter parameters. Please help me to find out. Thank you in advance.

//Declare Kalman Filter
 KalmanFilter KF (4,2,0);
 Mat_<float> state (4,1); 
 Mat_<float> measurement (2,1);

void init_kalman(double x, double y)
{

     KF.statePre.at<float>(0) = x;
     KF.statePre.at<float>(1) = y;
     KF.statePre.at<float>(2) = 0;
     KF.statePre.at<float>(3) = 0;

     KF.transitionMatrix = *(Mat_<float>(4,4) << 1,0,1,0,    0,1,0,1,     0,0,1,0,   0,0,0,1);
     KF.processNoiseCov = *(Mat_<float>(4,4) << 0.2,0,0.2,0,  0,0.2,0,0.2,  0,0,0.3,0,   
                                                                                  0,0,0,0.3);
     setIdentity(KF.measurementMatrix);
     setIdentity(KF.processNoiseCov,Scalar::all(1e-4));
     setIdentity(KF.measurementNoiseCov,Scalar::all(1e-1));
     setIdentity(KF.errorCovPost, Scalar::all(.1));  
}

Point2f kalman_predict_correct(double x, double y)
{
     Mat prediction = KF.predict();
     Point2f predictPt (prediction.at<float>(0), prediction.at<float>(1));   
     measurement(0) = x;
     measurement(1) = y; 
     Mat estimated = KF.correct(measurement);
     Point2f statePt (estimated.at<float>(0), estimated.at<float>(1));
     return statePt;
}
// SMOOTH DATA is runned in main function
measurement.setTo(Scalar(0));
for(size_t m = 0; m < new_track_feature.size(); m++)
{
    for(size_t n = 0; n < new_track_feature[0].point_list.size(); n++)
    {
         init_kalman(new_track_feature[m].point_list[n].point.x,                    
                                                 new_track_feature[m].point_list[n].point.y);
          Point2f smooth_feature = 
                            kalman_predict_correct(new_track_feature[m].point_list[n].point.x,             
                                                   new_track_feature[m].point_list[n].point.y);
          smooth_feature_point.push_back(PointFeature(n,smooth_feature,USE));
    }
    smooth_feature_track.push_back(TrackFeature(m,smooth_feature_point));
}
2014-03-20 03:22:59 -0500 commented question Video Stabilization using opencv

@Bryce: Could you share code, please? Thank you so much.

2014-02-19 10:14:11 -0500 received badge  Self-Learner (source)
2014-02-19 10:11:21 -0500 received badge  Student (source)