帧数和每秒帧数是一样的吗?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了帧数和每秒帧数是一样的吗?相关的知识,希望对你有一定的参考价值。
参考技术A是。
说到帧数,有必要提一下电影的原理。电影实际上是高速播放具有连续性的图片。由于人眼视网膜具有残像效应,因此切换画面时,人脑内仍然会存在上一幅图片的视觉,这样,当高速切换画面时,人大脑内的影像就能连起来,在视觉上形成连续的动画效果。因此
“帧”的概念就是指“画面”,1幅画就叫做“1帧”,每秒帧数指的就是“每秒播放的画面数”。譬如电影放映的标准是每秒放映24帧,每秒遮挡24次,刷新率是每秒48次.这里的帧就是画面,也就是说电影每秒放映24幅画面,以达到动画的效果。
如何在opencv中计算每秒帧数?
【中文标题】如何在opencv中计算每秒帧数?【英文标题】:How to calculate Frame Per Second in opencv? 【发布时间】:2015-07-05 14:37:01 【问题描述】:这是我的代码,它以高 fps 显示视频。我想要这里的原始fps,但不知道该怎么做。观看一些教程,他们正在使用 VideoCapture
,我尝试使用它,但这给了我链接器错误 undefined reference to 'cv::VideoCapture::VideoCapture(std::string const&)'..
虽然我正在链接所有库但错误是相同的。我正在使用 Dev-C++ 5.11 (GCC 4.9.2)
,所以知道如何使用 (CV_CAP_PROP_FPS)
here -
#include <windows.h>
#include <opencv/cv.hpp>
#include <opencv/highgui.h>
using namespace cv;
using namespace std;
int main( int argc, char** argv )
double fps=0;
cvNamedWindow( "Movie", CV_WINDOW_NORMAL );
CvCapture* capture = cvCreateFileCapture( "G:\\movie\\Journey.2.The.Mysterious.Island.2012.avi" );
IplImage* frame;
//cv::VideoCapture cap("G:\\movie\\Journey.2.The.Mysterious.Island.2012.avi" ); [giving me error]
//fps=cap.get(CV_CAP_PROP_FPS); [How to use this]
while(1)
frame = cvQueryFrame( capture );
if( !frame ) break;
cvShowImage( "Movie", frame );
char c = cvWaitKey(27);
if( c == 27 ) break; //esc
cvReleaseCapture( &capture );
cvDestroyWindow( "Movie" );
谢谢:)
【问题讨论】:
什么opencv版本? @Miki 版本 2.4.10 【参考方案1】:double fps=cvGetCaptureProperty(capture, CV_CAP_PROP_FPS);
【讨论】:
@uditr043 我很高兴。但是,您应该考虑使用新的 C++ 语法,首先包括#include "opencv2\opencv.hpp"
并“基本上”删除函数和类前面的 cv...
好的,我会照着做的,谢谢 :)以上是关于帧数和每秒帧数是一样的吗?的主要内容,如果未能解决你的问题,请参考以下文章
unity3d 4.3中spritesheet动画的每秒帧数是多少?