解释怎么解决进度条我解决了这个问题题

Access denied | m.lhswu.com used Cloudflare to restrict access
Please enable cookies.
What happened?
The owner of this website (m.lhswu.com) has banned your access based on your browser's signature (b9983b-ua98).求求高手解释,小孩刚申的号没分,我就是 7家庭普通版,求生之路2消逝一斤单人游戏进度条满了就黑屏_百度宝宝知道Opencv中添加进度条及回调函数
在说明如何给视频中添加进度条之前,先要解释下回调函数:
打个比方,有一家旅馆提供叫醒服务,但是要求旅客自己决定叫醒的方法。可以是打客房电话,也可以是派服务员去敲门,睡得死怕耽误事的,还可以要求往自己头上浇盆水。这里,“叫醒”这个行为是旅馆提供的,相当于库函数,但是叫醒的方式是由旅客决定并告诉旅馆的,也就是回调函数。而旅客告诉旅馆怎么叫醒自己的动作,也就是把回调函数传入库函数的动作,称为登记回调函数(to
register a callback function),如图所示:
之所以先介绍回调函数,是因为创建轨迹条的函数createTrackbar常常与一个回调函数配合使用。函数原型如下:
int createTrackbar(conststring& trackbarname, conststring& winname, int* value, int count, TrackbarCallback onChange=0,void* userdata=0);
第一个参数,const string&类型的trackbarname,表示轨迹条的名字,用来代表我们创建的轨迹条。
第二个参数,const string&类型的winname,填窗口的名字,表示这个轨迹条会依附到哪个窗口上,即对应namedWindow()创建窗口时填的某一个窗口名。
第三个参数,int* 类型的value,一个指向整型的指针,表示滑块的位置。并且在创建时,滑块的初始位置就是是由该变量当前的值。
第四个参数,int类型的count,表示滑块可以达到的最大位置的值。PS:滑块最小的位置的值始终为0。
第五个参数,TrackbarCallback类型的onChange,首先注意他有默认值0。这是一个指向回调函数的指针,每次滑块位置改变时,这个函数都会进行回调。并且这个函数的原型必须为void XXXX(int,void*);其中第一个参数是轨迹条的位置,第二个参数是用户数据(看下面的第六个参数)。如果回调是NULL指针,表示没有回调函数的调用,仅第三个参数value有变化。
第六个参数,void*类型的userdata,他也有默认值0。这个参数是用户传给回调函数的数据,用来处理轨迹条事件。如果使用的第三个参数value实参是全局变量的话,完全可以不去管这个userdata参数。
这个createTrackbar函数,为我们创建一个具有特定名称和范围的轨迹条(Trackbar,或者说是滑块范围控制工具),指定一个和轨迹条位置同步的变量。而且要指定回调函数onChange(第五个参数),在轨迹条位置改变的时候来调用这个回调函数。并且我们知道,创建的轨迹条显示在指定的winname(第二个参数)所代表的窗口上。
具体程序如下:
"highgui.h"#include
"iostream"VideoCapture video1("Seq04.avi");
int position =video1.get(CV_CAP_PROP_POS_FRAMES);
//如果createTrackbar第三个参数是全局变量,会省去很多麻烦void onTrackbarslide(int pos,void*)
//如果函数的参数可以是任意类型指针,那么应声明其参数为void*{double zhenNum=video1.set(CV_CAP_PROP_POS_FRAMES,pos); //第五个参数是一个函数,调到指定的帧使用set函数}int
main(){if(!video1.isOpened())cout&&"wrong"&&double zhenNum=video1.get(CV_CAP_PROP_FRAME_COUNT); //统计帧数作为进度条的最大值double zhenLv=video1.get(CV_CAP_PROP_FPS);
//帧率,用于设置播放延迟double delay=1/zhenLv;Mwhile(1){if(!video1.read(frame))
//后面跟的是Mat型imshow("abc",frame);waitKey(1000*delay);
//延迟N毫秒,所以要乘以1000createTrackbar("tiao","abc",&position,zhenNum,onTrackbarslide);//第五个参数实际是一个数字与进度的对应关系;}
在该例子中,进度条不能随着视频的播放而改变位置,这也是需要改进的地方,不过能做到拖动进度条就可以让视频到相应位置。
OpenCV - 鼠标操作(鼠标回调函数)
openCV(2)-creatTrackbar()函数及回调函数
opencv avi视频播放带进度条
OpenCV学习笔记(3)——进度条视频播放控制
opencv +MFC实现视频播放、暂停、视频标注、跟踪
opencv读取视频同时使用进度条进行控制(Python)
Opencv中用进度条调节亮度、对比度
OpenCV GUI基本操作,回调函数,进度条,裁剪图像等
Opencv中视频播放与进度控制
opencv回调函数
没有更多推荐了,求大神解释安装时进度条不动是什么原因啊【qq飞车吧】_百度贴吧
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&签到排名:今日本吧第个签到,本吧因你更精彩,明天继续来努力!
本吧签到人数:0可签7级以上的吧50个
本月漏签0次!成为超级会员,赠送8张补签卡连续签到:天&&累计签到:天超级会员单次开通12个月以上,赠送连续签到卡3张
关注:3,219,472贴子:
求大神解释安装时进度条不动是什么原因啊
qq飞车,0卡顿原生体验,立即下载免费安装!新手注册立送新手礼包,立即下载领取!
没把电脑倒过来吧 麻烦你别走的太快好不好
飞车安装时间不短,等等吧
楼主楼主,你有没有觉得我头像有种飘逸出尘的感觉~
楼主怎么样了,我怎么也遇到这种情况
楼主怎么样了,我怎么也遇到这种情况
解压速度太慢,
等等吧 没事的
一个小时了 还是没反应啊 我也是在你那个位置停下不动的
进度条安到2/3居然退到1/3去了!
和楼主一样
呞呵 以前安装的时候没见过等了10-30分钟我去 解压慢呵呵 读取慢差不多 解压他还动动 读取... 我是从来没见过
下载一个腾讯游戏平台,用哪个下载就不用解压了,我就是
我出门玩了下 没关电脑
回来就有了
活动完了你才下载
今天下了六七次,等到现在,终于有动静了
你电脑内存该不会是1g或者刚好2g的吧……
祝你好运!
你去打一局LOL就基本上可以动了
怎么样了,我刚开始就停了!
ESC+Shift+Ctrl
打开任务管理器
开头带QQ的进程都给结束就可以了
等了两天一夜了
贴吧热议榜
使用签名档&&
保存至快速回贴作者:Fairyex在我们的数字生活中有一样东西,它无处不在,同时形式外表多种多样,每天每个人都与其打无数次交道。但是,在互联网向着「更快更精确」的目标发展的时候,它却保持着一贯的缓慢和随性的误差。它就是你会为其激动,为其焦虑的 —— 进度条。进度条说到进度条,相信每个人心里都有很多想要抱怨的地方:缓慢蠕动的百分比,任凭你戳爆 F5,它自岿然不动。代表:浏览器加载进度。任性的剩余时间,明明写着「30」秒却能让人等到天荒地老。代表:文件复制进度,解压缩进度。卡在 99% 的痛苦,上面两种情况起码还有希望,99% 后的失败提示让人感觉「人生都失去希望」。代表:某雷下载进度,视频转码进度。仔细想想,我们平时还真的没有见过几次完全准确的进度条。今天,我就以平时常见的几种进度条类型为例,为大家科普上面几种情况背后的根本原因,再跟大家聊聊有什么操作能让进度条更加「张弛有序」。进度条的定义与历史 首先让我们来了解一下进度条的前世今生。今天我们常见的是计算机领域的进度条 —— 用于视觉化计算机操作进度的图形组件,不过,其实在计算机出现之前就已经有「进度条」这种概念了。从事管理或者互联网产品方面职业的派友对于甘特图肯定不陌生,它就是进度条的「祖宗」。1896 年波兰经济学家卡罗尔·亚当基(Karol Adamiecki)提出了「时间表」这一概念,相隔不久,在
年间被亨利·甘特(Henry Laurence Gantt)向西方推广普及,所以就有了甘特图这一名词。
甘特图上面就是一张很标准的甘特图,它在纵轴(Y)上列出了需要执行的任务,横轴(X)则是自定义的时间间隔。通过 Y 上每一项任务右边线条的位置与宽度就能直观地看出每个任务和整个计划的持续时间、各部分的相互关系等,还能通过重叠部分发现任务间是否有时间冲突。直到今天甘特图仍然是项目管理上必不可少的得力帮手。抛去这些专业解释,我们直接看图也能看出来甘特图就像是手绘的进度条,如果 Y 轴上不同的任务换成单个任务的不同阶段,那么几乎就跟数码设备上的进度条一模一样。而将甘特图的概念用于计算机又是几十年后的事情(毕竟现代计算机的出现都已经是几十年后),第一个图形化进度条出现在 Mitchell Model 的 1979 年博士论文《在复杂计算环境中监控系统行为》中。1985 年,布莱恩·迈尔斯(Brad Allan Myers)在计算机 - 人类交互会议上发表了一篇关于《百分比完成进度指标》的论文。在此之后所有设备上的进度条都是踩着这两位巨人的肩膀出现的了。计算机上进度条的作用 我们知道了进度条是怎么来的,那么为什么计算机上需要出现进度条?计算机上不用进度指示器(Loading Indicator)而用进度条的时候主要考虑以下原因:缓解用户焦虑,延长用户耐心,为什么我们看着「转圈圈」很快会失去耐心,而无聊的时候可以看着半个小时的文件复制进度条(反正我干过&&)?因为圈圈是单调的预设动画,而进度条是由系统检测数据反馈的数据实时生成的,每一次的速度,变化频率都有微妙差别,显然后者更能给用户带来更多的新鲜感。同理,越多的数据变化,用户感到焦虑前的时间就越长,所以 Windows 不断地在复制文件进度条上加新数据和动画(速度折线图,网格,实时速度数据还有那个上下动来动去的速度指示器等等)。
Windows 复制文件进度条的动画给用户踏实的反馈,试想一下执行用户不知道原理又需要比较长时间的操作,比如安装程序和升级系统,又没有进度条只有提示或转圈圈会怎么样?这时这个操作就拥有了「薛定谔的进度」—— 用户会很纠结,等了好久都没反应,程序是不是挂了?关了吧,万一再等一下就行了呢;不关吧,万一真的是挂了呢。有了进度条,用户至少可以直观地知道这个程序还能动,动了多少,安全感瞬间提升。
网页还要多久才能加载好呢?让用户了解大概剩余时间,即使 99% 的时候进度条显示的剩余时间都是不准的,但是我们仍然可以通过进度条跑的速度大概推测出剩余的时间,以决定是先离开屏幕洗个澡还是直接取消掉操作。总的来说,进度条既不加快操作速度也不提升性能,完全是为了「讨好你」而已。我们平时见多了可能没啥感觉,只要想想如果每次开会领导讲话头上都插着一根进度条,就能感觉进度条对我们心理影响有多大。进度条不准确的原因 本地进度条 先说说我们最常见的本地进度条吧,无论是复制文件,安装程序还是升级系统你有很大机会看到剩余时间经常大幅度的跳跃。有时候跳得就跟随便给个时间一样,而且更加好玩的是,无论硬件怎么发展,这个问题从 Windows 95 到最新的 Windows 10 的几十年来一直伴随着我们,这可是相当长的时间。
跳跃的复制速度举个例子:微软连语音助手都做进了 Windows,却连我们文件多久才能复制好都弄不准,这其中最重要的原因是进度条并不能获取到所有它显示出来的数据。在你复制文件的时候,我们能看到进度条获取了文件数量与文件总大小,但大部分人都不知道有一样东西 Windows 不知道:硬件的速度。现实情况是,随着时间推移磁盘吞吐量会发生明显的变化,比如你复制文件同时还在下载电影、玩游戏。CPU、硬盘被占用和硬件温度上升直接导致文件复制速度大幅下降,但是进度条不知道呀,它只会继续按照刚复制那一瞬间检测到的硬盘速度来显示剩余时间。如果这个时候你暂停下载/切出游戏查看复制进度,CPU 和硬盘占用被释放,于是文件复制速度蹭得上去了,你就看到鬼畜跳动的剩余时间。由于这个原因,通常我们看到复制文件时速度大都先达到顶峰然后瞬间就降了下来。
复制速度的变化任何占用 CPU/磁盘的行为都会导致上面的结果,比如后台更新或是应用后台自启动,而不仅是用户的行为。但是这不能解释有时后台 CPU/磁盘占用没有变动,复制速度也会鬼畜的情况。这时候导致鬼畜的是另一个原因 —— 寻找文件的速度。无论是机械硬盘还是固态硬盘,上面的每个文件都是通过碎片的方式储存的,在一个块/簇大小为 32k 的硬盘里面 1MB 的文件就被分散到 32 个不同的块/簇中储存。读取这个文件的时候硬盘需要分别从这 32 个地方拿出数据在拼起来,找出这 32 个地方在哪是需要时间的(也就是常说的寻道时间)。即使是同一个文件,因为硬件不同,在不同硬盘上的找出所有碎片的时间也是不同的。在复制文件,特别是复制很多数量文件时,进度条获取不了硬盘的寻道时间,由于每次寻道时间都有微小的差别,加上不同大小文件的总寻道时间不同,于是剩余时间便没办法精确得出了。提示:Windows 复制文件进度条横轴代表的是百分比,而不是已复制的数据量/时间。是否能让本地进度条变得精确?实际上我们每天与精确的进度条相处的时间也不少,比如音乐进度条和视频进度条,它们是如何做到精确的呢?因为它们是有确定长度的单个文件,视频音频文件里面内置了自己的长度,放到文件复制上就相当于等复制完再告诉你用了多长时间,这样当然就是准确的了。再者,根据上面进度条的作用解释,用户需要的只是一个根据大概数据动起来的东西让自己有个底,精确的数据对于绝大部分用户来讲意义不大(就像我们日常说时间一般只会精确到分,很少有人会精确到毫秒一样)。微软当然有能力去让文件复制进度变得精确,不过这需要改动系统的架构,新增 API 去获取更多的数据,还要写算法去处理这些数据,同时增加一吨以上的 BUG,最后的结果甚至不够换个按钮颜色更能吸引用户的注意。
macOS 的升级让你知道 1 秒有多长不准确的进度条就这样顺理成章地保持了下来。对于个人开发者来讲,优化自己程序里面进度条精确度的优先级远远不如给用户新皮肤来得高,甚至现在很多开发者在安装程序里面用「假进度条」(也就是平时我们安装程序时进度条直接窜到最后让你等的那种)。
迅雷安装网络进度条 说完本地进度条我们再来讲讲网络上的进度条,由于网络本身的复杂度,影响网络速度的因素太多,我们甚至可以夸张点说「假进度条」遍地都是。比如很多浏览器顶部加载网页时的进度条,很多时候并不能反应加载网页的进度。某些浏览器断网的时候进度条还能走到尽头,过几秒再提示「无网络链接」;网页还没加载完毕进度条就走完了,或者网页加载完毕还进度条没走完的情况比比皆是。说到假进度条,就不得不说坑爹的游戏加载进度条了。无论是网络游戏还是单机游戏,基本上用的都是假进度条,这是为什么呢?如果程序员按照真实的速度和文件加载情况做,用户看起来的进度条是一段一段往右「窜」的,「窜」起来还时快时慢。美术和产品肯定就有意见了,那没办法只能先加载完一部分再让进度条匀速增加一部分,这样看起来每一段都很顺滑了,也能反应加载情况。一般来讲做到这里就行了,我们经常看到的游戏进度条也多是这样,不过奈何有些「像素级强迫症」的美术和「完美主义」产品经理就是不满意,进度条一定要完全顺滑地走完,不能让用户觉得卡。那没办法,程序员只好匀速运动定时跑完的进度条咯。这样顺滑是顺滑了,可是全是假的也不行啊,进度条都跑完了资源还在加载怎么办?产品给程序员支了一招:你让进度条匀速跑到 99% 不动,等到加载完资源再变成 100% 不就得了,用户一看都 99% 了肯定会再等等,也不会流失用户。然后我们就看到这些窜到 99% 之后就不动的进度条了。
王者荣耀检查更新这瞬间都要做进度条甚至很多我们认为是精确的进度条都在这样子干 —— 就拿迅雷下载举个例子。不止迅雷,下载卡在 99% 很久的情况相信大家在各个下载软件上都有遇见过,迅雷的下载进度条有时候也会跟用户玩一些「小伎俩」,卡 99% 就是其中一种。很多派友就会问了,只要用剩余文件大小除以每秒网速不就可以得出精确进度和剩余时间了吗,怎么还会卡 99%?看过我的《下载科普:隐私,稳定与速度》教程的派友应该知道,BT 下载时文件是切成一个个小块来下载的,一个大的文件会被切成千上万的小块,下载时也不是按照文件块的顺序来下载。文件下载到 99% 的时候迅雷就会把下载好的文件块和 BT 种子里面记录的文件块的文件指纹进行匹配以保证文件块的正确性与完整性。网络复杂的时候这成千上万文件块里面肯定会有一些数据不完整的,这时就需要重新下载这些错误的文件块。如果迅雷的进度条是精确的那么会发生什么?(举例)用户会看到下载到 99% 的进度条突然间变成了 90%,剩余时间也从 00:00:01 变成 00:01:30。那用户肯定就毛了,老子会员都充了这破玩意儿下着下着还缩回去?接着就是投诉三连走起,迅雷为了保证「用户体验」,只能让进度条卡在那儿咯。
卡在 99% 的进度条除了下载损坏文件块,机子硬盘性能差导致拼接文件块太慢或者写入硬盘速度太慢也会导致卡 99% 的情况。其实大多数网络进度条,包括上面说的浏览器进度条卡 99% 的情况占绝大部分,其中绝大部分是故意设计的。网络上的进度条依旧遵循着上面提到的进度条的作用。不准确的进度条甚至是假进度条不全是技术上不能实现,而更多是照顾用户心理的体现。为了达到这个目的甚至会故意延长进度条走完的时间以免某项操作执行得太快,还是那句话 —— 用户不需要精确的数据,有就行了。其他类型的进度条 随着时代的发展,智能设备对于互联网的依赖越来越强,而用户的习惯也发生了巨大的变化。我们经常在电脑上看到的进度条已经不适合放在手机等设备上(比如常见的卡片瀑布流,要是每张卡片都放个带数字的进度条,有密集恐惧症的用户可以当场去世),于是我们就可以看到很多新类型的进度条。圆形进度条 这应该是我们在手机等设备上见得最多的进度条了,典型的外观是一个空心圆/圆环,通过填满的程度来表示进度。这种进度条优点是不占位置,指示明显,中间还可以显示数字进度。不过在准确度上并没有太大的提升,该卡 99% 还是会卡 99%:
急不急?有时候我们自己都能感觉出来这些进度条是在安慰用户,最经典的就是 iOS 上安装应用时的圆形进度条。Apple 把下载和安装进度放在同一进度条,下载进度只占前 50%,以营造出「一到 50% 速度就快得飞起」的错觉,使用户产生快感。
iOS 应用下载完进度条只走了 50% 左右图片逐步加载与色块占位 既然无法做到准确地判断加载进度,很多 App 开始追求通过另一些「欺骗」的手段去给用户进度反馈,减少用户在等待过程中产生的焦虑。Pinterest 就在图片加载完成先将图片区域的背景颜色设置为图片的主色调,然后在图片加载完毕时,通过淡入动画把图片显示出来。
Pinterest 用色块对图片提前占位而大图页面上 Pinterest 采用了逐步加载的策略,先将首页加载完的小图拉大放到大图的位置,同时加载高清大图,大图一边加载一边显示从模糊到清晰的动画。这也是很多图片网站加载大图的方法:
先拉伸小图,再逐步加载高清大图比起单独的一条,这种和内容结合在一起的进度条显然更加能「讨好」用户,也避免了图出来进度条还没跑完和卡 99% 的情况。有了这些优点,使用与内容相结合的进度条与拟物化进度条的网站应用越来越多。总结 这篇文章到此已经基本介绍了各种类型进度条不准确的原因,我们知道很多进度条这辈子大概都不会准了,我们也知道很多进度条就是为了不准确而设计出来的。大家以后再见到进度条的时候不用再盯着那一条缓缓蠕动的条子和跳来跳去的时间,可以多利用其中的时间去做一些更有意义的事情(比如刷下少数派)。特别声明:本文为网易自媒体平台“网易号”作者上传并发布,仅代表该作者观点。网易仅提供信息发布平台。
一键安装官方客户端
重大事件及时推送 阅读更流畅
http://crawl.nosdn.127.net/bdd8bca9dc89beec.jpg

我要回帖

更多关于 解决了这个问题 的文章

 

随机推荐