Ask Your Question

Revision history [back]

click to hide/show revision 1
initial version

Super resolution outputs blank green frames.

I am trying to do super-resolution using OpenCV 2.4.10. Here are the main steps in the task .

    const int scale = 2;
const int iterations = 5;
const int temporalAreaRadius = 4;
cv::Ptr<cv::superres::DenseOpticalFlowExt> of = cv::superres::createOptFlow_DualTVL1();

cv::Ptr<cv::superres::SuperResolution> super_res=cv::superres::createSuperResolution_BTVL1();
super_res->set("scale", scale);
super_res->set("iterations", iterations);
super_res->set("temporalAreaRadius", temporalAreaRadius);
super_res->set("opticalFlow",of);

 for(int i = 0; i < SKIP; ++i)
{
    frame_source->nextFrame(frame);
}
super_res->setInput(frame_source);
cv::VideoWriter writer;

std::cout<<"starting SR"<<std::endl;
for(int i=0;;++i){
    std::cout<<"processing frame :"<<i<<std::endl;
    cv::Mat result;
    super_res->nextFrame(result);
    if(result.empty())break;
    if (!writer.isOpened())
            writer.open(output_video_name, CV_FOURCC('X', 'V', 'I', 'D'), 25.0, result.size());
    writer << result;    
}

While the program executes error free, in the output all i am getting are blank green frames. Could anybody point me as why that is happening?