上图:
Mat process(Mat &img);
int main()
{
VideoCapture cap("video/Megamind.avi");
if (!cap.isOpened())
{
cout << "could not open" << endl;
return -1;
}
Mat frame;
cap >> frame;
Size S = Size((int) cap.get(CV_CAP_PROP_FRAME_WIDTH),
(int) cap.get(CV_CAP_PROP_FRAME_HEIGHT));
VideoWriter w;
w.open("test.avi", CV_FOURCC('X', 'V', 'I', 'D'), cap.get(CV_CAP_PROP_FPS), S + Size(10,10) );
Mat dst;
do
{
cap >> frame;
dst = process(frame);
w << dst;
}while (frame.data);
cout << "done" << endl;
return 0;
}
Mat process(Mat &img)
{
Mat src;
pyrDown(img, src);
Mat bgr_res[3];
Mat bgr[3];
for( int j = 0 ; j < 3; j++)
{
split(src, bgr);
for (int i=