Ask Your Question

student's profile - activity

2013-07-10 11:12:34 -0600 commented question Superresolution: how to process only particular sampled frames

@Ben. Well, I could just have a list/array of frame numbers which I want to keep and skip the current frame if the current frame number is not amongst the list.

2013-07-10 11:09:40 -0600 commented answer Superresolution: how to process only particular sampled frames

Thanks but not only I want to skip the beginning, I also want to skip certain frames. Putting together you've just said, do you think it's ok for me to add one line (calling srobj->setInput method before calling srobj->next frame in the loop) and do it something like:

Ptr<SuperResolution> srobj = createSuperResolution_BTVL1(); Ptr<FrameSource> frameSource = createFrameSource_Video("video.mpg"); srobj->setInput(frameSource);

for(;;) { if(certain frames) { // if certain frame numbers, skip the frame frameSource->nextFrame(someMatfile); continue; }

// perform super resolution srobj->setInput(frameSource); srobj->nextFrame(frame_super);

}

2013-07-10 10:35:54 -0600 asked a question Superresolution: how to process only particular sampled frames

Hi

I have hours-long video and I want to enlarge some frames (of my own choosing) of the video by using super resolution. I'm not interested in processing all the frames (and it'd too slow to process all of them). How can I achieve this?

Note: I've tried the following approach but it doesn't work.

Ptr<SuperResolution> srobj = createSuperResolution_BTVL1();
Ptr<FrameSource> frameSource = createFrameSource_Video("video.mpg");
srobj->setInput(frameSource);

for(;;)
{
 if(certain frames)
 {
  // if certain frame numbers, skip the frame
  frameSource->nextFrame(someMatfile);
  continue;
 }

 // perform super resolution
 srobj->nextFrame(frame_super);

}

Thanks.

2013-05-22 06:02:10 -0600 received badge  Scholar (source)
2013-05-22 05:59:46 -0600 commented answer Superresolution: error with createOptFlow_DualTVL1()

Thanks, it works! But I'm confused on why createOptFlow_DualTVL1() needs superres:: prefix in front whilst createOptFlow_Farneback() doesn't need it. Also I have the "using namespace superres;" above the main function.

2013-05-22 05:56:33 -0600 received badge  Supporter (source)
2013-05-22 05:26:26 -0600 received badge  Student (source)
2013-05-21 13:16:46 -0600 asked a question Superresolution: error with createOptFlow_DualTVL1()

Hi

For choosing optical flow with super-resolution, the following compiles fine:

Ptr<DenseOpticalFlowExt> opflow = createOptFlow_Farneback();

But the following gives error:

Ptr<DenseOpticalFlowExt> opflow = createOptFlow_DualTVL1();

The error given is:

error C2668: 'cv::superres::createOptFlow_DualTVL1' : ambiguous call to overloaded function

How can I avoid the error? Thanks.

2013-05-21 13:10:49 -0600 received badge  Editor (source)
2013-05-21 13:10:18 -0600 asked a question Superresolution in video: no scale change in output

Hi

I'm testing the super-resolution functionality of opencv 2.4.5. The program runs but I don't see any scale changes in the output frames (after calling nextFrame). For example:

    Ptr<SuperResolution> srobj = createSuperResolution_BTVL1();
Ptr<DenseOpticalFlowExt> opflow = createOptFlow_Farneback();
srobj->set("scale", 6);
srobj->set("opticalFlow", opflow);

Ptr<FrameSource> frameSource = createFrameSource_Video("myvid.avi");
srobj->setInput(frameSource);

Mat frame_super;

for(;;)
{
    frameSource->nextFrame(frame_super);
    imshow("output", frame_super);  

    waitKey(1);

}

I'm expecting the output "frame_super" would then be images which are 6 times larger than original frames but this isn't the case. Why are they of the same size as original frames?! Any help would be appreciated.