DCT变换:
低频和高频来源是声音的频率,这里根据纹理形象化了;
高频/低频是指图像从纹理角度看,纹理细密/细小/稠密的为高频信息,例如均匀一致的路面,水面等,低频就是指那些较粗的纹理,如边缘信息等,图象上明
亮变化快而显著的信息就是“高频”信息; 图象上明亮变化慢而相似的信息就是“低频”信息。
对于图像来说。 空域的高频可以理解为细节信号,比如当一幅大图缩小n倍后,图像的细节就看不到了, 
我们就可以理解为高频信号被滤掉了,而剩下的图像部分就可理解为低频了。 
低频灰度变化较慢的区域,通常是背景。 
高频是灰度变化剧烈区域,通常是边界。
DCT以8x8的像素为单位进行,生成的是8x8的DCT系数数据块。DCT变换的最大特点是对于一般的图像都能够将像块的能量集中于少数低频DCT系数上,即生成8x8DCT系数块中,仅左上角的少量低频系数数值较大,其余系数的数值很小,这样就可能只编码和传输少数系数而不严重影响图像质量。 
DCT不能直接对图像产生压缩作用,但对图像的能量具有很好的集中效果,为压缩打下了基础,比如jpeg和h.264都是基于DCT变换的,所以数字水印添加后,水印不会被丢失;
DCT变换特点:
DCT是正交变换,它可以将8x8图像空间表达式转换为频率域,只需要用少量的数据点表示图像;DCT产生的系数很容易被量化,因此能获得好的块压缩;DCT算法的性能很好,它有快速算法,如采用快速傅立叶变换可以进行高效的运算,因此它在硬件和软件中都容易实现;而且DCT算法是对称的,所以利用逆DCT算法可以用来解压缩图像。
为什么采用8x8的图像块,其原因是由于计算量和像素之间关系的数量,许多研究表明,在15或20个像素之后,像素间的相关性开始下降。就是说,一列相似的像素通常会持续15到20个像素那么长,在此之后,像素就会改变幅度水平(或反向)。
图像的空间域的信息表示:
模拟图像经采样后成为离散化的亮度值然后分成一个个宏块,而一个宏块有分成8x8大小的块,可以用一个矩阵来表示这个块:
N=8,矩阵中元素f(i,j)表示块中第i行、第j列像素的亮度值。把该矩阵看作一个空间域,显然,块中这些亮度值的大小有一定的随机性,无序性,或者说亮度值的分布没有什么特征;DCT变换就是来解决这个问题的,把这些随机的数据变的有序,便于对数据进行编码压缩。
(空间域到变换域公式)一维DCT正交变换的公式为:
变换域到空间域的变换,二维DCT逆变换公式:
其中:
图形或视频压缩技术:
1. 对图片进行DCT变换,DCT以8x8的像块为单位进行,生成的是8x8的DCT系数数据块。
2. 量化:量化过程就是以某个量化步长去除DCT系数,对一个8x8的DCT变换块中的64个DCT变换系数采用不同的量化精度,以保证尽可能多地包含特定的DCT空间频率信息,又使量化精度不超过需要。DCT变换系数中,低频系数对视觉感应的重要性较高,因此分配的量化精度较细;高频系数对视觉感应的重要性较低,分配的量化精度较粗,通常情况下,一个DCT变换块中的大多数高频系数量化后都会变为零。 
3. 之型扫描:
DCT变换产生的是一8x8的二维数组,为进行传输,还须将其转换为一维排列方式。有两种二维到一维的转换方式,或称扫描方式:之型扫描(Zig-Zag)和交替扫描,其中之型扫描是最常用的一种。由于经量化后,大多数非零DCT系数集中于8x8二维矩阵的左上角,即低频分量区,之型扫描后,这些非零DCT系数就集中于一维排列数组的前部,后面跟着长串的量化为零的DCT系数;
4. 游程编码:
只有非零系数被编码。一个非零系数的编码由两部分组成:前一部分表示非零系数前的连续零系数的数量(称为游程),后一部分是那个非零系数。这样就把之型扫描的优点体现出来了,因为之型扫描在大多数情况下出现连零的机会比较多,游程编码的效率就比较高。当一维序列中的后部剩余的DCT系数都为零时,只要用一个“块结束”标志(EOB)来指示,就可结束这一8x8变换块的编码,产生的压缩效果是非常明显的。
图像转换库:netpbm;
DCT变换:
1. 将图片分成8*8的小块,然后进行正向的DCT变换,其中DCT正向变换系数将按照zigzag顺序排列,左上角第一个系数为直流系数,代表了此8*8字块的低频部分,其余为交流系数,按照箭头指示的zigzag顺序表示了交流系数由低频到高频的过渡;
2.人类最敏感的是DCT变换的低频系数,所以尽量保留低频系数,JPEG有损压缩会丢失高频系数,因此选植入水印的关键是要选取接近低频的中频系数位置;对系数进行调整,以表示水印,按照zigzag顺序排序的第9到第32个位置是合适的。
3.也可以两个相邻的系数表示一个水印点,当然要给一个阙值;
总结:
1. 利用netpbm库转换图像格式;
2. 对原始图片进行DCT变换;
3. 在低频系数,修改固定的低频系数,嵌入水印;
4. DCT逆变换,得到图片;
5. 加载变换后的图片,进行DCT变换;
6. 根据固定的低频系数,得到水印;
问题:图片加载到什么地方?是二维数组吗?
低频系数如何变换?根据什么运算?
需要看程序解决!
心得:
1. 起初对图像处理的知识几乎没有,不知道图像的格式,不知道DCT,不知道h.264.接到项目后,很茫然,无从下手;
2. 查看网络,首先找一些图像处理的基本知识,从大量的知识中,挖掘有同的东西,近于项目有关的知识,比如信道,编码技术等等信息,一概过滤,最快的时间,找到有用的知识,有一定的思路;
3. 查看大量的h.264的资料,由于不是专业出身,仅仅了解思想。h.264很庞大,当时也有像把h.264弄懂的欲望,后方放弃,只找与压缩算法相关的东西;后来发现h.264也是基于DCT算法的,但还有很多的算法,那些有用那些无用,花了大量的时间来需找,中间也看了很多项目没用的知识;
4. 查看网络上相关的算法,搜索论文,搜论问的目的是找一种可行的操作;找一种方法;
5. 从简单入手,了解BMP格式,分析,解析格式,把嵌入水印,和提取水印的函数接口流出;
6. 加入水印算法,从简单入手,空间域变换,最低域嵌入水印,失败;
7. 需找检测水印是否成功的方法,利用jpeg的算法替代h.264算法;
8. 找论文,研究DCT 算法,搜DCT代码,由于是嵌入式,算法尽量设计简单,考虑复杂度;
9. 发现网上代码很不靠谱,找论文,按照论文提出的简单算法,写程序,测试,成功;
10. 尝试加入图片做为水印,但发现失败,所以加入的是摄像头的编号;
一切从简单开始,从简单方法尝试,一步一步,踏踏实实的学习,就会找到解决方法;
 Cox等人于1995年提出了基于图像全局变换的水印方法,称之为扩频法。这也是目前大部分变换域水印算法中所用到的技术。它将满足正态分布的伪随机序列加入到图像的DCT变换后视觉最重要系数中,利用了序列扩频技术(SS)和人类视觉特性(HVS)。算法原理为先选定视觉重要系数,再进行修改,最常用的嵌入规则如下:

V1=V+ αWi(加法准则)

V1=V(1+ αWi)(乘法准则)

其中V、V1分别是修改前和修改后的频域系数,α是缩放因子,是第Wi个信息位水印。 
  一般说来,乘法准则的抗失真性能要优于加法准则。水印的检测是通过计算相关函数实现的。从嵌入水印的图像中提取出是嵌入规则的逆过程,把提取出来的水印与原水印作相似性运算,与制定的阈值比较,可确定是否存在水印。这是稳健性水印的奠基性算法。

water水印(DCT变换过程)相关推荐

  1. 【图像隐藏】基于LDPC编码译码改进DCT变换算法实现水印嵌入提取matlab源码

    一.LDPC码简介 低密度校验码(LDPC码)是一种前向纠错码,LDPC码最早在20世纪60年代由Gallager在他的博士论文中提出,但限于当时的技术条件,缺乏可行的译码算法,此后的35年间基本上被 ...

  2. 基于MATLAB的数字图像K-L变换,基于DCT变换的图像编码方法研究

    分类号 密级 UDC注l 学 位 论 文 基于DCT变换的图像编码方法研究 (题名和副题名) 朱剑英 (作者姓名 指导教师姓名 副教授 中诱学位级别硕士 沦_义提交日期2004.1 专.业名称 通信与 ...

  3. 【转】DCT变换的透彻解析

    3.离散余弦变换 DCT 将图像从色彩域转换到频率域,常用的变换方法有: DCT变换的公式为: f(i,j) 经 DCT 变换之后,F(0,0) 是直流系数,其他为交流系数. 还是举例来说明一下. 8 ...

  4. SSE图像算法优化系列二十一:基于DCT变换图像去噪算法的进一步优化(100W像素30ms)。...

    在优化IPOL网站中基于DCT(离散余弦变换)的图像去噪算法(附源代码) 一文中,我们曾经优化过基于DCT变换的图像去噪算法,在那文所提供的Demo中,处理一副1000*1000左右的灰度噪音图像耗时 ...

  5. 理解JPEG图像压缩算法,DCT变换

    理解JEPG原理 JEPG不是一种文件格式,而是一类图像压缩算法. 1.彩色图像 灰度图像 灰度,一个pixel取值0-255. 彩色图像 需要比灰度图像更多的存储空间, 事实上, 所有颜色都可以用红 ...

  6. 基于DCT变换的JPEG图像压缩原理

    1.为什么要进行图像压缩 众所周知,当今人类社会具有三大支柱,即物质.能量.信息.当下已由物质过渡到信息,从农业现代化到工业现代化,再到当今的信息化时代.信息具有通用性.抽象性.无限性.其通用性表现在 ...

  7. DCT变换的基函数与基图像

    1. 图像变换的基函数   在图像的二维变换中,如果图像本身是正方形的(图像的长与宽相等),并且图像的变换核满足课可分离性和对称性,则此时图像的二维变换可以用两个一维变换代替,并有如下的矩阵表示形式( ...

  8. 视频编解码 — DCT变换和量化

    目录 视频编码流程 DCT变换 Hadamard变换 量化 H264中的DCT变换和量化 H264各模式的DCT变换和量化过程 1.亮度16x16帧内预测块 2,其它模式亮度块 3,色度块 小结 视频 ...

  9. 基于DCT变换的JPEG图像压缩

    基于DCT变换的JPEG图像压缩 摘 要:图像和视频通常在计算机中表示会占用非常大的空间,而出于节省硬盘空间的考虑,往往要进行压缩.而随着网络的发展,图像压缩技术越来越被人所重视.DCT变换是图像压缩 ...

最新文章

  1. windows备份与还原和两个主机的相互通信
  2. 常考数据结构与算法:查找第K大元素算法
  3. JTable调整列宽
  4. 解释一下Spring支持的几种bean的作用域
  5. 查找空目录Linux,Linux中find批量删除空文件及空文件夹脚本
  6. C#面向对象--命名空间
  7. 修改environment导致重启不能登录的问题解决
  8. 解析Node.js v6.9.5官方文档的第一个例子的知识点
  9. 【数据结构】二叉树的python实现
  10. 「实战篇」开源项目docker化运维部署-搭建mysql集群(四)
  11. 洛谷OJ P1074 靶形数独 解题报告
  12. SQL数据库笔试选择题(知识点总结)
  13. 低功耗高精度性能稳定 智芯传感ZXP0压阻式大气压力传感器适用多个领域
  14. 手机投屏电视html,手机怎么投屏,怎么把手机里的电影投屏到电视上
  15. 手把手教学,详细的外挂制作教程视频
  16. 《Cisco VPP SFC》4、ODL SFC 安装
  17. 电池战争:“新石油”与中欧分野
  18. 前端开发之JS篇(二)
  19. 2020年海南自贸港大学生职业生涯 规划大赛职业生涯规划书
  20. 用友YonSuite释放商业创新的“蝴蝶效应”

热门文章

  1. 【甲は乙を···(さ)せます】使役形式
  2. docx转doc时,防止公式被转成图片的解决办法
  3. 让人愤怒的google协作平台
  4. 神经网络学习小记录39——MobileNetV3(small)模型的复现详解
  5. [圆反演][笛卡尔定理]Rohith and Circles
  6. 【航线运输驾驶员理论考试】领航
  7. 中小型企业常用的进销存系统有哪些?
  8. 业精于勤荒于嬉-行成于思而毁于随
  9. 高端电视选购调查:8成用户放弃OLED选择ULEDX
  10. 云客Drupal源码分析之实体视图显示及格式化器