Ubuntu安装PyTurboJPEG库

引子

  CV领域肯定是少不了绕不过去图像编解码。童鞋们,可能会说,CV领域中遇事不决,OpenCV。没错,OpenCV是可以解决图像处理中的绝大部分问题,但是由于OpenCV是是一个通用的CV&图像处理的库。它用起来确实很顺手,但是嘛。。。但是它在一些性能方面有的时候确实是差点意思。那么,之前项目中有遇到过对图像编解码性能要求的地方,经过科学上网,还是找到了一个高效的JPEG编解码的(且使用CPU的,使用GPU的童鞋可以参考这篇博客Ubuntu20.04下DeepStream Python环境安装_nvidia deepstream sdk 6.4-CSDN博客)。OK,那让我们开始吧。

一、PyTurboJPEG介绍

  说到PyTurboJPEG那一定要聊到TurboJPEG,那么说到TurboJPEG(libjpeg-turbo)那一定要聊到libjpeg,大名鼎鼎的libjpeg大家一定都听说过。libjpeg是一个广泛使用的 JPEG 图像压缩库,采用 C 语言开发。那么TurboJPEG呢,就是基于libjpeg的,优化了的高性能JPEG压缩库,并且它在压缩率和速度之间做了很好的平衡,采用了SIMD指令集(MMX,SSE2,NEON,AltiVec),来加速x86,x86-64,ARM和PowerPC系统上的JPEG压缩和解压缩。libjpeg-turbo的速度通常是libjpeg的2-6倍。凭借其高度优化的霍夫曼编码,libjpeg-turbo仍然可以大大超过libjpeg。在许多情况下,libjpeg-turbo的性能可与专有的高速JPEG编解码器相媲美。那么,PyTurboJPEG就显而易见,是在libjpeg-turbo的基础上套了一层python。

二、安装PyTurboJPEG

1、sudo apt-get install nasm

2、进入下载官网页面,网址https://sourceforge.net/projects/libjpeg-turbo/files/ 

下载2.0.x版本的libjpeg-turbo-2.0.2.tar.gz

3、tar -zxvf libjpeg-turbo-2.0.2.tar.gz

4、cd libjpeg-turbo-2.0.2

mkdir build 

cd build

cmake -G"Unix Makefiles" ..

make -j8

make install

cp -rvf /opt/libjpeg-turbo/lib64/* /lib/

5、pip install PyTurboJPEG

三、测试代码

import cv2
from turbojpeg import TurboJPEG, TJPF_GRAY, TJSAMP_GRAY, TJFLAG_PROGRESSIVE, TJFLAG_FASTUPSAMPLE, TJFLAG_FASTDCT
jpeg = TurboJPEG()
# decoding input.jpg to BGR array
with open('input.jpg', 'rb') as in_file:
    bgr_array = jpeg.decode(in_file.read())
cv2.imshow('bgr_array', bgr_array)
cv2.waitKey(0)

  • 13
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

要养家的程序猿

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值