Opnecv如何读取图像倒序

昨晚无意看到stackoverflow上一个人提问,说如何读取图像倒序,我心血来潮,就想了下,写的很搓,很简单的。

思路:

从图像的最后一帧开始读取, 依次向前一帧递减,直当前帧为0.

code :

//  Author   W.Qi //  Data      16/4/2013 //  How to read the image in reverse. #if !defined VK_ESCAPE     #define VK_ESCAPE 0x1B      // Escape character (27) #endif int main() {  VideoCapture cap("video.avi");  cap.set(CV_CAP_PROP_POS_AVI_RATIO,1); % 1表示 the end of frames  int number_of_frames=cap.get(CV_CAP_PROP_POS_FRAMES); % 获得图像的frames  Mat frame;  namedWindow("window");  while(number_of_frames>0)   {          number_of_frames--;    cap.set(CV_CAP_PROP_POS_FRAMES,number_of_frames);    %设置从哪一帧开始读取    cap>>frame;    if( frame.empty() ) {             cerr << "ERROR: Couldn't grab the next camera frame." << endl;             exit(1);         }    imshow("window",frame);   char cc=waitKey(33);   if(cc==VK_ESCAPE)   {    break;   }  }  return 0;

}

   另外,对于视频的编码好像有要求的,我试了试我的红外视频貌似不可以读的,可能因为编码问题, 然后换了opencv自带的视频,可以读了。具体什么原因我也不是很清晰的了。如果大家知道了可以告诉我下, 先谢谢拉~~~~~写的很搓。大家见谅。。。。。
 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值