大多数非严重相机(手机和网络摄像头上的相机)都会将有损JPEG图像作为输出提供。
虽然对于人眼来说,它们可能不会被注意到,但数据丢失对于图像处理算法来说可能是至关重要的。
如果我是正确的,那么在分析输入图像时您采取的一般方法是什么? (请注意:使用行业标准相机可能不是业余爱好者程序员的选择)
答案 0 :(得分:4)
JPG是一整套实现,实际上有4种方法。最常见的方法是基于离散余弦变换的“常规”方法。这简单地将图像划分为8x8块并计算其DCT。这导致系数列表。为了有效地存储这些系数,它们乘以一些其他矩阵(量化矩阵),使得较高频率通常舍入为零。这是这个过程中唯一有损的一步。这样做的原因是能够比以前更有效地存储系数。
所以,你的问题没有很容易回答。它还取决于输入的大小,如果你有一个足够大的图像(比如说3000x2000),以相对较高的精度存储,你就不会有人工制品的麻烦。压缩率高的小图像可能会导致麻烦。
请记住,使用相机拍摄的图像包含大量噪点,这本身可能比jpg压缩更令人不安。
在我的工作中,我通常将所有图像转换为pgm格式,这是一种原始格式。这确保了如果我以流水线方式处理图像,所有中间步骤都不会遭受jpg压缩。
请记住,旋转,缩放和重复保存JPG等操作会导致每次迭代都丢失数据。