Android图片/视频/图像压缩算法,图像识别

  图像与视频编码,压缩。
  在数字电视的信源压缩编码中,由于要求的压缩率较高,普遍采用有损压缩的方法。图像压缩编码从本质上来说就是对要处理的图像数据按照一定的规则进行变换和组合,从而达到以尽可能少的数据来表示尽可能多的数据信息。
  图像压缩编码是研究图像数据压缩的技术。视频信号的空间冗余度,时间冗余度,结构冗余,知识冗余度, 视觉冗余度。三种数据冗余:编码冗余、像素冗余、视觉心理冗余

-- 图像的压缩方法可以分为两类:
1.无损压缩,在图像无任何失真的前提下使数据率达到最小,这种方式是可逆的。
2.有损压缩,在给定的失真度下使数据率达到最小,这种方式是不可逆的。

-- 人眼的视觉特征
 1)亮度辨别阈值:只有当亮度在背景基础上变化达到一定程度时,人眼才能感觉到,人眼刚刚能察觉到的亮度变化值称为亮度辨别阈值。
 2)视觉阈值:干扰或失真刚好可以被察觉的门限值,低于它就察觉不出来。
 3)空间分辨力:对一幅图像相邻像素的灰度和细节的分辨力。对于静止或缓慢变化的图像,视觉具有较高的空间分辨力;对于活动图像,空间分辨力降低。
 4)掩盖效应:人眼对图像中量化误差的敏感程度,与图像信号变化的剧烈程度有关。变化越剧烈,量化误差越容易被掩盖。

图像保边滤波算法集锦--局部均值滤波算法与实现- https://blog.csdn.net/Trent1985/article/details/80773642
图像保边滤波算法集锦--Surface Blur(表面模糊滤波)算法与实现- https://blog.csdn.net/Trent1985/article/details/80775011

> 图像识别
开源OCR识别彩票内容项目 LotteryHelper- https://github.com/MZCretin/LotteryHelper

> 图片压缩算法
图像压缩原理- https://blog.csdn.net/newchenxf/article/details/51693753
-- 压缩方法的原理分类:
 1.预测编码-基本思想是利用已被编码的点的数据值,预测邻近的一个像素点的数据值;
 2.变换编码-基本思想是将图像的光强矩阵变换到系数空间上,然后对系数进行编码压缩;
 3.统计编码-根据信息出现概率的分布特性而进行的压缩编码。比如霍夫曼编码。
  JPEG的RGB三通道,PNG的ARGB的四通道。图像格式JPEG、PNG 、GIF、WEBP、HEVC,以及腾讯公司自研的WXAM和SHARPP格式。Chrome和opera浏览器都支持webp,它们占据了一半的浏览器市场份额,另外Android系统 4.0以上版本也默认支持webp格式。图片压缩内核WXAM和SHARP,不牺牲压缩的情况下,编解码速度数倍于知名开源工程x265,甚至超过了webp。

  显示了PNG编码流工作流程包括四步:原始数据、过滤后数据、压缩后数据、格式化的PNG。
  JPEG通常有两种采样方式:YUV411和YUV422。Huffman编码无专利权问题,成为JPEG最常用的编码方式,Huffman编码通常 是以完整的MCU来进行的。 
  常用的无损压缩算法有:赫夫曼(Huffman)算法和LZW(Lenpel-Ziv & Welch)压缩算法。.BMP .TIFF及AVI等格式文件的压缩均采用行程编码(RLE)方法. 

-- 静态图像与动态视频

  静态图像压缩最常用的是jpeg, 先进点的是jpeg2000。研究这两个就足够了。
  动态视频的算法就太多了,VCD用mpeg-1, DVD用mpeg-2, 视频会议常用H.261。压缩比更高一些的是H.263和mpeg-4,最新一代的算法是H.264和微软的WMV9,用于新一代HD-DVD及蓝光光盘上。

- 图像压缩算法,最典型的就是 JPEG、JPEG2000 等。
  JPEG 采用的是以离散余弦转换(Discrete Cosine Transform)为主的区块编码方式。JPEG2000 则改用以小波转换(Wavelet Transform)为主的多解析编码方式,小波转换的主要目的是将图像的频率成分抽取出来。
  评判一个压缩算法好坏的重要指标有两个:一个是每个像素占据的比特位数(bit per pixel,BPP),一个是 PSNR。我们知道,数据在计算机中以比特形式存储,所需比特数越多则占据的存储空间越大。BPP 用于表示图像中每个像素所占据的比特数,如一张 RGB 三通道图,表示每个像素需要消耗 24 个比特。PSNR 用来评估解码后图像的恢复质量,简单理解就是 PSNR 越高,恢复质量越好。
  静止图像的压缩基本算法。JPEG采用的是YCbCr色彩系统。 想要用JPEG基本压缩法处理全彩色图像,得先把RGB颜色模式图像数据,转换为CbCr颜色模式的数据。Y代表亮度,Cb和Cr则代表色度、饱和度。通过下列计算公式可完成数据转换: 
 Y = 0.2990R+0.5870G+0.1140B 
 Cb= -0.1687R-0.3313G+0.5000B+128 
 Cr= 0.5000R-0.4187G-0.0813B+128 

-- google发表了关于使用心理视觉来进行图像处理的guetzli论文,guetzli编码图像处理过程主要分为以下三个大的迭代过程:
 第一次迭代,取得最优的全局量化表;
 第二次迭代,计算每个块中的哪些系数可供消零(低分辨率部分),且消零后视觉评价体系上图像无差别;
 第三次迭代,将第二次迭代的消零序列,进行消零尝试,先进行大幅度消零计算其得分和文件大小,然后根据文件大小适当回调消零的系数。

Google JPEG压缩算法:Guetzli-  https://github.com/google/guetzli

-- 图片压缩处理
图片无损压缩:ImageOptim ; 
图片有损压缩:TinyPNG/ImageAlpha ;
TinyPNG支持对 PNG/JPEG 文件做压缩处理,效果不错- https://tinypng.com/
pngquant支持 PNG 压缩,有时候 TinyPNG 处理过的图片噪点会稍多,可以考虑用 pngquant 来处理- https://pngquant.org/
ImageOptim支持压缩 PNG/JPEG/GIF,只支持 Mac- https://imageoptim.com/mac
mozjpeg:ImageOptim online用于 PNG 转 JPEG、JPEG 压缩- https://imageoptim.com/online

-- 基线式(baseline)和渐进式(progressive)编码
  JPG图片支持两种编码方式:基线式(baseline)和渐进式(progressive)。业界应用最广泛的是基线式,因为它编解码计算开销小,实现比较容易。渐进式在编码的时候,要多次扫描图片,计算开销大约是基线式的3-5倍(但比起Google的WebP编码8-10倍开销还是小很多)。两者编码出来的文件大小基本相同,渐进式往往会更小一些。基线式的编码方式是图片从上到下,从左到右地进行处理和编码。
  除了JPG支持渐进式编码格式,其他比如webP、HEVC在设计上也都支持渐进式的。要使用其他格式,只需要替换一下图片的编解码库即可。
  在图片用渐进式编码格式的基础上,配合流式传输的控制方式,再加上动态可调整的文件最小传输长度,是该图片传输系统的“两把刷子”,缺少任何一个因素,效果都大大减弱。

-- Tiny Jpeg Decoder (JPEG解码)
Tiny Jpeg Decoder是一个可以用于嵌入式系统的JPEG解码器。也可以在Windows上编译通过。在此分析一下它部分的源代码,辅助学习JPEG解码知识。通过TinyJpeg可以将JPEG(*.jpg)文件解码为YUV(*.yuv)或者RGB(*.tga)文件。

> 视频/图像去噪
  -- 去噪问题一直是图像领域的难点和热点。噪声去除的难点主要是在去噪的同时,还要保证图像边缘纹理等信息的清晰。因为噪声和图像的细节在特征上是类似的,很难区分开来,这就不可避免的去噪时,连同图像的细节信息进行去除,所以导致图像整体模糊。
-- 视频图像去噪的一些理解- https://blog.csdn.net/jiacunkun/article/details/72818845
针对单幅图像的去噪包括空域滤波,频域滤波和小波域滤波等等,空域滤波是最为广泛使用的去噪方法.
 1. 空域滤波
  均值滤波,是最简单的线性滤波,直接对邻域内像素值进行平均对图像进行模糊.
  双边滤波,就是在高斯滤波的基础上,增加了像素的值域信息,弥补空间连续性假设的不足。同时考虑了像素空间差异与强度差异的滤波器.
  引导滤波是何凯明等人解决图像去雾时传导函数的细化问题,所提出来的新的滤波方法。这种滤波方法需要将引导图像和输入图像作为输入,来得到输出图像。https://blog.csdn.net/pi9nc/article/details/26592377
  引导滤波在原理上也是基于局部空间连续性原则(相对于一维空间的局部平滑原则)。因为引导滤波在有更好的时效性和保边缘作用,使其有很广泛的应用。 
  NLM和BM3D是专门用于图像去噪的算法,它们是充分利用了整个图像的自相似性和冗余信息。而且图像去噪效果非常好,特别是BM3D是目前公认的最后的去噪方法之一。但是这是建立在巨大的复杂度之上的,因为要利用整个图的自相似性和冗余信息,不仅仅是对单个邻域进行操作了。 
  NLM(非局部均值)是将双边滤波的推广,该方法充分利用了图像中的冗余信息,在去噪的同时能最大程度地保持图像的细节特征。基本思想是:当前像素的估计值由图像中与它具有相似邻域结构的像素加权平均得到。http://www.cnblogs.com/luo-peng/p/4785922.html。 
  BM3D,基本思想是:1、找到那些与当前参考块相近的处理块,将它们堆叠在一起成为一个3D数组,这一步又称为分组(grouping)。2、在整个3D数组上进行协作滤波(collaborative filtering),将得到的所有2D小块的估计放回到它们的原位置上。3、在处理完所有参考块后,每个像素都会有多个估计值,可以将其加权得到一个最终结果。http://blog.csdn.net/liyingjiang22/article/details/51611464。
 2. 频域滤波 
  频域滤波是通过傅里叶变换将图像由空域转换到频域进行处理,这种方法认为图像噪声集中在图像的高频信息里面,通过对图像的高频信息进行滤除进而把噪声得以去除,方法主要是低通滤波器(这包括各种改进的低通滤波),但是这样做还是避免不了那个问题,高频信息处理包括噪声还包括图像的边缘和纹理等,这势必也会造成图像细节信息的丢失。 
 3. 小波域滤波 
  得益于小波分析的提出,很多图像问题都可以在小波域得以解决,可以通过不同的小波基将图像空域转换到小波域,然后很多方法认为图像的能量信息主要集中在小波系数较大的部分,根据此通过采用阈值收缩来移除小的系数来去除噪声。小波域对于噪声的去除有不错的处理效果,但是小波基的选择以及阈值的调节等问题,都增加了图像去噪的难度。
   非局部均值(NL-means)是近年来提出的一项新型的去噪技术。该方法充分利用了图像中的冗余信息,在去噪的同时能最大程度地保持图像的细节特征。基本思想是:当前像素的估计值由图像中与它具有相似邻域结构的像素加权平均得到。
  
-- 图像前景提取相关:背景建模角度;前景特征角度
大部分都是视频中的应用,视频中的背景建模可以分为动态背景和静态背景两种:(图像/视频背景建模)
 1.动态背景+运动物体 ;
这种背景的建模比较复杂,一般从物体和背景的相对运动来入手来提取前景,这就是从前景物体的角度来考虑问题了。
 2.静态背景+运动物体 ;
这个建模比较简单,不管从哪个角度都可以很好地解决问题。
 3.动态背景+静态物体 ;
例如车载摄像头等应用场景。如果背景较简单且变化微弱,可以看做静态背景和动态物体来处理。如果背景很复杂得从前景物体的特征匹配来入手(猜想而已,并未深入研究)。

-- 背景建模方法:
1.帧差法;
2.背景统计模型:均值法、中值法等;
3.混合高斯背景建模;

  • 1
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
编译原理是计算机专业的一门核心课程,旨在介绍编译程序构造的一般原理和基本方法。编译原理不仅是计算机科学理论的重要组成部分,也是实现高效、可靠的计算机程序设计的关键。本文将对编译原理的基本概念、发展历程、主要内容和实际应用进行详细介绍编译原理是计算机专业的一门核心课程,旨在介绍编译程序构造的一般原理和基本方法。编译原理不仅是计算机科学理论的重要组成部分,也是实现高效、可靠的计算机程序设计的关键。本文将对编译原理的基本概念、发展历程、主要内容和实际应用进行详细介绍编译原理是计算机专业的一门核心课程,旨在介绍编译程序构造的一般原理和基本方法。编译原理不仅是计算机科学理论的重要组成部分,也是实现高效、可靠的计算机程序设计的关键。本文将对编译原理的基本概念、发展历程、主要内容和实际应用进行详细介绍编译原理是计算机专业的一门核心课程,旨在介绍编译程序构造的一般原理和基本方法。编译原理不仅是计算机科学理论的重要组成部分,也是实现高效、可靠的计算机程序设计的关键。本文将对编译原理的基本概念、发展历程、主要内容和实际应用进行详细介绍编译原理是计算机专业的一门核心课程,旨在介绍编译程序构造的一般原理和基本

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值