说明:OpenCV计算机视觉库,所以使用的图像或视频处理,因此,没有任何声音在播放视频的临时
软件:使用OpenCV制播放器(无声音)
功能说明:新建播放窗体。加入进度条能够拖动视频播放。
流程图:
watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvd3F0aGFoYQ==/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast" alt="">
功能说明:
1. 新建进度条 cvCreatTrackbar("","",&,frames,callback)
2、获取总帧数 cvGetCaptureProperty(&,id)
double cvGetCaptureProperty( CvCapture* capture, int property_id );capture
视频获取结构。property_id 属性标识。能够是以下之中的一个:CV_CAP_PROP_FRAME_COUNT
- 视频文件里帧的总数
3.回调函数 cvSet(&。id, pos)
int cvSetCaptureProperty( CvCapture* capture, int property_id, double value )property_id
属性标识符。能够是以下之中的一个:CV_CAP_PROP_POS_FRAMES - 单位为帧数的位置(仅仅对视频文件有效)
源码:
#include”cv.h”
#include”highgui.h” int g_slider_position=0;
CvCapture* g_capture =NULL; void CvTrackcalllback(int pos)
{
cvSetCaptureProperty( g_capture, CV_CAP_PROP_POS_FRAMES, pos ); } int main(int argc, char** argv)
{
cvNamedWindow("Example3",CV_WINDOW_AUTOSIZE);
g_capture = cvCreateFileCapture("视频路径");
int frames = (int)cvGetCaptureProperty(g_capture,CV_CAP_PROP_FRAME_COUNT); if(frames!=0)
{
cvCreateTrackbar("Test","Example3",&g_slider_position,frames,CvTrackcalllback);
} IplImage* frame;
while(1)
{
frame = cvQueryFrame(g_capture)
cvShowImage("Example3",frame);
cvWaitKey(0);
}
return 0;
}
执行结构截图例如以下:
有问题,愿意与大家交流!
版权声明:本文博客原创文章,博客,未经同意,不得转载。