Wrong JPEG library version: library is 62, caller expects 80

libjpeg/libturbojpeg


这两个是常用的jpeg的编解码库,在使用libjpeg做解码的时候遇到了如题的错误,网上百度了一堆答案都是应为系统里面有6.2和8.0的两个libjpeg库导致的,到我仔细查看了我的文件系统,jpeg库只有8.0的一个版本,找来很多办法,不解为什么会有6.2的jpeg库。

为此单独次写了个demo,竟然又是可以运行的,没有报任何错误。仔细分析了一下,我之所以使用libjpeg,主要是因为opencv2.4在read jpeg的图片的时候实在太慢了,便想自己来解码jpeg图片,所以会不会和opencv有关系。就查了一下opencv是如何解码jpeg图片的,果然,从源码里面发现了libjpeg,正是6.2的版本,这下上面的错误也就解释通了,但是这样opencv和libjpeg的高版本就没办法一起使用,也是比较痛苦的。

实测在 A53 的arm上, 主频756M的时候,解码一张jpeg(imread)需要220~230ms,而使用libjpeg 8.0版本只要80~90ms,差距还是很大的,不得已只有又自己编译了一个6.2版本的libjpeg,这样试了一下,解码一张jpeg(1080P)还是需要180ms左右,远远不如8.0版本,但是opencv也是必须要用的,否则取roi会很不方便,只得折中使用6.2版本的libjpeg库来解决上面的问题。

  • 4
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值