opencv 用imread读取多张图片(图片大小相同)时,读取时间不同

time_tt0=clock();cvImage=imread(picPath,CV_LOAD_IMAGE_GRAYSCALE);printf("read:%g\t",(... time_t t0 = clock(); cvImage = imread(picPath, CV_LOAD_IMAGE_GRAYSCALE); printf("read: %g\t", (clock() - t0) / 1000.0);
有的图片读取时间公为0.002S,几乎为0,有的图片读取时间为0.441S, 0.435S时间变长了上百倍,是什么原因呢?
各路大神,帮下忙哦,没有财富了……
展开
 我来答
房子a房子a
推荐于2017-10-14 · TA获得超过2047个赞
知道小有建树答主
回答量:783
采纳率:85%
帮助的人:562万
展开全部
因为图片格式都是压缩格式的数据,并不是说总像素相同两个图像就相同。一张内容丰富的图片个一张纯白色图片占用的空间是不一样的。也就是说opencv在解压图像时需要处理的数据量和计算量是不同的。所以,依据图像的不同,加载图像的时间也是不一样的。
BlueWanderer
2015-02-02 · TA获得超过9209个赞
知道大有可为答主
回答量:5673
采纳率:83%
帮助的人:2006万
展开全部
因为机械磁盘是个速度相当不稳定的东西。另外显示尺寸相同的图片的文件大小会有差别。而且某些压缩格式不同的图片解压速度也会差很多,不过这个一般不会到100倍的级别。
追问
非常感谢你的回答,那这个有没有什么办法克服呢?
追答
为什么要克服这个?
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
a幽暗之灵
2015-12-22 · TA获得超过135个赞
知道小有建树答主
回答量:147
采纳率:0%
帮助的人:61.6万
展开全部
这个与计算机的硬件和运行状态(内存占用)也有关系,可以运行多次取平均时间!
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
hero06111001
2016-01-06 · 超过19用户采纳过TA的回答
知道答主
回答量:50
采纳率:0%
帮助的人:26.3万
展开全部
嗯,读取的时间会有不同。计时方法都是有精度的,cpu不同时刻运算效率也不一样的。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式