Discrete Cosine Transform [DCT] (离散余弦变换)

描述:Binarizer是一个Transformer。

离散余弦变换是与傅里叶变换相关的一种变换,它类似于离散傅立叶变换但是只使用实数。离散余弦变换相当于一个长度大概是它两倍的离散傅里叶变换,这个离散傅里叶变换是对一个实偶函数进行的(因为一个实偶函数的傅里叶变换仍然是一个实偶函数)。

参数信息

参数描述

备注

其他

setInputCol

String

DF中待变换的特征,类型为:vector

setOutputCol

String

转换后的类型为:vector

setInverse

Boolean

true:执行反DCT,false:执行正向DCT

默认值:false

程序示例:

def getDataFrame(sparkSession: SparkSession = this.getSparkSession()): DataFrame = {

sparkSession.createDataFrame(Seq(

(0, Vectors.dense(0.0, 1.0, -2.0, 3.0)),

(1, Vectors.dense(-1.0, 2.0, 4.0, -7.0)),

(2, Vectors.dense(14.0, -2.0, -5.0, 1.0))

))

.toDF("id", "features")

}

def execute(dataFrame: DataFrame) = {

//特征名称

var feature = "words"

var feature_new = "words_count_vectorizer"

//设置模型

val dct = new DCT()

.setInputCol("features") //待变换的特征

.setOutputCol("features_dtc") //变换后的特征名称

.setInverse(false) //true:执行反DCT,false:执行正向DCT.默认值:false

//模型测试

var transform = dct.transform(dataFrame)

//show

transform.show(100, 100)

dataFrame.show(false)

}

数据结果:

+---+--------------------+----------------------------------------------------------------+

| id| features| features_dtc|

+---+--------------------+----------------------------------------------------------------+

| 0| [0.0,1.0,-2.0,3.0]|[1.0,-1.1480502970952693,2.0000000000000004,-2.7716385975338604]|

| 1| [-1.0,2.0,4.0,-7.0]| [-1.0,3.378492794482933,-7.000000000000001,2.9301512653149677]|

| 2|[14.0,-2.0,-5.0,1.0]| [4.0,9.304453421915744,11.000000000000002,1.5579302036357163]|

+---+--------------------+----------------------------------------------------------------+

实际应用例子:

离散余弦变换,经常被信号处理和图像处理使用,用于对信号和图像(包括静止图像和运动图像)进行有损数据压缩

java dct变换_Discrete Cosine Transform [DCT] (离散余弦变换)相关推荐

  1. 二维离散变换由c语言编写,离散余弦变换(DCT)的DSP程序设计与实现

    <离散余弦变换(DCT)的DSP程序设计与实现>由会员分享,可在线阅读,更多相关<离散余弦变换(DCT)的DSP程序设计与实现(15页珍藏版)>请在人人文库网上搜索. 1.DS ...

  2. 二维dct变换例题_matlab进行二维DCT变换和二维DCT反变换

    题目: matlab进行二维DCT变换和二维DCT反变换 在Matlab中,函数dct2 和函数idct2分别用于进行二维DCT变换和二维DCT反变换.下面以处理本次训练图像为例说明该余弦正反变换在M ...

  3. matlab 灰度图像dct变换,[Week2.4]图像DCT变换

    均方差(Mean Square Error, MSE) 评价一幅图像压缩前和压缩还原后的差异,有两种常用方法: ①大家来找茬--进化程度高的人类可轻易识别: ②数学方法--压缩前和还原后的图像作均方差 ...

  4. c语言 dct变换,C语言实现DCT变换编码

    内容 1.离散余弦变换编码 2.mpeg 4中的逆离散余弦变换 3.离散余弦变换研究 4.快速离散余弦变换 离散余弦变换编码 #包括 #包括 #包括 #包括 #定义PI 3. #定义CLK_TCK时钟 ...

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

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

  6. 压缩感知稀疏基之离散余弦变换(DCT)和离散正弦变换(DST)

    题目:压缩感知稀疏基之离散余弦变换(DCT)和离散正弦变换(DST) 在前面一篇<压缩感知的常见稀疏基名称及离散傅里叶变换基>中集结了九篇压缩感知文献中有关稀疏基名称,并且直白地告诉大家稀 ...

  7. python离散余弦变换_Python图像处理 —— DCT变换

    图像的DCT变换 python实现 这里去除了图像的低频部分,进行dct变换后得到图像的骨架 import cv2 import numpy as np # 读取图像 img = cv2.imread ...

  8. DCT(离散余弦变换(DiscreteCosineTransform))

    离散余弦变换(Discrete Cosine Transform,简称DCT变换)是一种与傅立叶变换紧密相关的数学运算.在傅立叶级数展开式中,如果被展开的函数是实偶函数,那么其傅立叶级数中只包含余弦项 ...

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

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

最新文章

  1. gatdata获取曲线_GetData软件使用--获取曲线图中的数据
  2. 树莓派(Raspberry Pi 3) centos7使用yum命令报错File /usr/bin/yum, line 30 except KeyboardInterrupt, e:...
  3. ansible playbook实战——下发部署nginx以及更新、回滚
  4. 小波降噪与重构例子 python
  5. 【笔试or面试】金山西山居2014校招笔试题
  6. 六步带你轻松安装MongoDB
  7. 第十一节课 课堂总结
  8. 白岩松曾说过这样一段话
  9. LINQ语法类似于SQL的语法
  10. 《制造业中的机器人、自动化和系统集成》—— 3.5 工装与夹具
  11. 关于阿克曼函数(akermann)非递归算法的一点见解 c++
  12. 安装历史版本nvidia显卡驱动
  13. 苹果蓝牙耳机使用说明_苹果蓝牙耳机怎么用
  14. 城市引力模型——城市经济联系度制作
  15. 安装配置OOS2016
  16. JIRA上根据前置任务自动计算到期日之automation实现实例
  17. 泥瓦匠之 Java 的成长感悟
  18. php百度坐标转腾讯坐标,PHP实现腾讯与百度坐标转换
  19. MQTT协议详解 三、MQTT控制包(CONNECT)
  20. python建立资料库_python 建立数据库

热门文章

  1. LeetCode 1089. 复写零
  2. LeetCode 239. 滑动窗口最大值(双端队列+单调栈)
  3. win10版本查看_想知道电脑中安装的win10版本号,用这3招就对了,一键查看
  4. Python随机数生成方法
  5. php mqtt qos,Mqtt Qos 深度解读
  6. java字符流写入式乱码_字节流乱码与字符流乱码
  7. excel去重_数据处理之EXCEL的高效技巧分享
  8. 《Easy RL:强化学习教程》出版了!文末送书
  9. 不同于NLP,数据驱动、机器学习无法攻克NLU,原因有三
  10. pdf各种处理 PDF 的实用代码:PyPDF2、PDFMiner、pdfplumber