如何使这种jpeg压缩更快

时间:2010-12-27 11:23:11

标签: c++ opencv

我正在使用OpenCV压缩来自相机的二进制图像:

vector<int> p;

p.push_back(CV_IMWRITE_JPEG_QUALITY);

p.push_back(75); // JPG quality

vector<unsigned char> jpegBuf;

cv::imencode(".jpg", fIplImageHeader, jpegBuf, p);

上面的代码将存储在fIplImageHeader中的二进制RGB图像压缩为JPEG图像。对于640 * 480图像,执行上述五行需要大约0.25秒。

有什么方法可以让它更快吗?我真的需要每秒重复压缩4次以上。

2 个答案:

答案 0 :(得分:4)

尝试使用libjpeg-turbo代替libjpeg,它有MMX&amp; SSE优化。

答案 1 :(得分:1)

如果你不介意花钱 - 考虑一下英特尔性能原型 - 它的速度非常快。 AMD的Framewave应该与API兼容 - 我还没试过。
顺便说一句 - 请查看此链接Fast JPEG encoding library