(交叉张贴到libjpeg-turbo用户列表。)
我对libjpeg-turbo有意见。
tjCompress2函数需要一个RGB或灰度图像来压缩。
http://libjpeg-turbo.sourceforge.net/ljtdoc.branches_1.3.x/turbojpeg-c/group___turbo_j_p_e_g.html#gaba62b7a98f960839b588579898495cf2(对不起,当链接发生故障时,您必须粘贴该链接。)
我的网络摄像头( PS3 EyeToy)具有以下特点:
chris@raspberrypi ~ $ v4l2-ctl --get-fmt-video
Format Video Capture:
Width/Height : 320/240
Pixel Format : 'YUYV'
Field : None
Bytes per Line: 640
Size Image : 153600
Colorspace : SRGB从转型上看,YUYV似乎相当于JPEG所需的YCbCr (尽管与亮度相比,它有一半的Cb和Cr数据)。我理解得对吗?
我知道如何使用矩阵将YUYV转换为RGB,但在不需要任何颜色空间的情况下,执行两个颜色空间更改似乎是在浪费稀缺的CPU周期和颜色精度。
是否有可以直接将YUYV图像压缩成JPEG的函数?
发布于 2014-04-28 07:14:36
自从提出这个问题以来,tjCompressFromYUV函数已经在TurboJPEG API中实现了。它以YCbCr或YUV格式获取图像,并将其转换为JPEG图像。
但是,要使用YUYV API压缩TurboJPEG图像,仍然需要将YUYV转换为Y-Cb-Cr像素格式。
使用YUYV映像作为YUV映像并对4:2:2进行次采样的可能性也很小,因为这将导致每个UV组件有两个Y组件,但如果本源是准确的,则有四种可能的方法来放置YUVY组件。但要想取得积极的效果,就有1/4的机会可以发挥作用。
否则,在将图像转换为JPEG之前,还可以使用PNGU或类似的方法对图像进行转换,因为这个库能够“以png RGB8格式保存YCbYCr图像”。
https://stackoverflow.com/questions/19282402
复制相似问题