首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >离散余弦变换在opencv中的应用

离散余弦变换在opencv中的应用
EN

Stack Overflow用户
提问于 2019-04-21 15:40:05
回答 1查看 1.7K关注 0票数 0

dct在opencv中没有正确的转换。

代码语言:javascript
运行
AI代码解释
复制
imf = np.float32(block)  
dct = cv2.dct(imf)

           [[154,123,123,123,123,123,123,136],
           [192,180,136,154,154,154,136,110],
           [254,198,154,154,180,154,123,123],
           [239,180,136,180,180,166,123,123],
           [180,154,136,167,166,149,136,136],
           [128,136,123,136,154,180,198,154],
           [123,105,110,149,136,136,180,166],
           [110,136,123,123,123,136,154,136]] 

当使用上面所示的代码进行转换时,图像的这个块

代码语言:javascript
运行
AI代码解释
复制
[162.3 ,40.6, 20.0...
[30.5 ,108.4...

这应该是结果,

代码语言:javascript
运行
AI代码解释
复制
[1186.3 , 40.6, 20.0...
[30.5, 108.4 ....

但我发现了这个结果。对于示例块,https://www.math.cuhk.edu.hk/~lmlui/dct.pdf

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-04-21 16:26:59

DCT很好用。你得到的和你期望得到的是不同的,因为给出的这个例子实际上是在M上,而不是在原始图像上的DFT。在这个例子中,正如论文所显示的,M=I-128。你的例子中唯一的区别是你没有减去那部分,所以值都更大了。在余弦或傅里叶变换中,第一个系数(有时称为"DC偏移“)具有较高的值,因为您的图像值只是更大。但这就是为什么所有其他系数都是一样的。如果你取一幅图像,你只需对整个图像加一些或减去一些,变换的系数将是相同的,除了第一个。

根据DCT的标准定义:

这里可以看到,对于k=0的第一个系数,在余弦函数中,你只得到0,cos(0) = 1,因此,图中所示的X_就是所有x_n值的总和。一般情况下,这个值可以通过与N相关的值进行缩放,因此它类似于平均值。当这样做时,它与X_术语有关,它是一个"DC偏移量“,您将看到它被描述为”信号的平均值“,或者换句话说,信号离0有多远。这是超级有用的余弦/傅立叶变换系数之一,因为它可以完全描述一个信号;所有其他的系数描述频率内容,所以他们没有说值有多远从0,但第一个系数,直流偏移,告诉你的位移!

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/55787685

复制
相关文章
Swift 中的属性包装器
当处理代表某种状态形式的属性时,通常会在每次修改值时触发某种关联的逻辑。例如,我们可以根据一组规则验证每个新值,可以以某种方式转换分配的值,或者每当值更改时都可以通知一组观察者。
韦弦zhy
2021/04/08
2.7K0
CSS中的“>”是什么意思
发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/113498.html原文链接:https://javaforall.cn
全栈程序员站长
2022/07/07
4.1K0
css中的clear的作用是什么_css中class的用法
元素浮动之后,周围的元素会重新排列,为了避免这种情况,使用 clear 属性。
全栈程序员站长
2022/10/01
1.6K0
css中的clear的作用是什么_css中class的用法
java中的包装类
  通过查看源码或API文档,我们可以知道包装类再java.lang包下,而且所有包装类都是final修饰的,即不能被继承。里面维护的基本数据类型的变量value,也是final修饰的,不能更改,即一旦创建对象,其内容就不能修改。包装类主要分为三种不同类型:数值类型(Byte、Short、Integer、Long、Float和Double)、Character类型、Boolean类型。
别团等shy哥发育
2023/02/25
1.1K0
java中的包装类
CSS中,如何处理短内容和长内容?
最近开源了一个 Vue 组件,还不够完善,欢迎大家来一起完善它,也希望大家能给个 star 支持一下,谢谢各位了。
前端小智@大迁世界
2021/02/04
1.9K0
CSS 中的定位(position)布局,是什么?
使用 position、left、right、top、bottom,可以改变元素现有位置,譬如让元素从正常布局流中跳出来,固定在页面某个位置上。
Learn-anything.cn
2021/12/10
5480
CSS 中的网格(grid)布局,是什么?
网格布局就是把页面拆分成很多小格子,用于对齐和摆放元素。有三个重要的属性:行(row)、列(column)、沟槽(gutter,表示行列的间隙)。
Learn-anything.cn
2021/12/10
3.1K0
CSS中的计数器
     <p>Place the flour in a large bowl, make a well in the centre and pour in the milk and eggs. Give the liquid mixture a quick whisk before incorporating the flour. Continue to whisk until you have a smooth batter.</p>
大江小浪
2018/07/25
1.3K0
【说站】css中hack是什么
因为不同的厂商或浏览器的不同版本(如IE6-IE11,Firefox/Safari/Opera/Chrome等),对CSS的支持、解析并不相同,导致在不同浏览器环境下呈现不一致的页面展示效果。
很酷的站长
2022/11/24
4990
【说站】css中animation是什么
css3中提供了很强大的animation动画,它可以指定多个关键帧,从而允许定义更加丰富的自定义动画。
很酷的站长
2022/11/24
3630
【说站】css中animation是什么
【说站】css中transition是什么
通常情况下,CSS 属性变化是立即生效的,新的属性值在超级短的时间内替换掉旧的属性值,然后浏览器重新绘制样式内容(可能是 reflow 或者 repaint)。大部分情况下会感觉样式变化突兀,而transition则可以添加顺滑的一个变化效果。
很酷的站长
2022/11/24
3060
【说站】css中transition是什么
【说站】css中flex是什么
以上就是css中flex的介绍,希望对大家有所帮助。更多css学习指路:css教程
很酷的站长
2022/11/24
6700
Java-包装器类
所有的基本类型都有一个与之对应的类,这些类称为包装器类。对象包装器类是不可改变的,即一旦构造类包装器类,就不允许更改包装在其中的值。同时,对象包装器类还是final,因此不能定义它们的子类。
用户7886150
2021/02/02
6030
【说站】css中sticky属性是什么
1、position的新属性sticky,在屏幕范围内(viewport)设置sticky元素时,该元素的位置不会受到定位的影响。
很酷的站长
2022/11/23
5530
【说站】css中sticky属性是什么
【说站】css中couters函数是什么
1、counters函数也必须和content属性一起使用,用来显示CSS计数器。
很酷的站长
2022/11/24
2350
【说站】css中couters函数是什么
【说站】css中rotate函数是什么
2、指定的角度定义了旋转的量度。若角度为正,则顺时针方向旋转,否则逆时针方向旋转。旋转180°也被称为点反射。
很酷的站长
2022/11/24
6010
【说站】css中rotate函数是什么
【说站】css中clear属性是什么
1、用于规定元素哪一侧不允许浮动元素,默认值为none,表示不清除,左右两侧允许浮动元素。
很酷的站长
2022/11/23
5440
【说站】css中clear属性是什么
【说站】css中Grid模块是什么
1、为了创建一个有行和列的布局,Grid模块增加了18个新的CSS属性。grid-gap属性可用于CSS网格可以很容易地在列和行之间增加间距。这是行和列之间的简称。
很酷的站长
2022/11/24
4510
【说站】css中Grid模块是什么
在CSS中写 when/else 是什么体验
大家都知道CSS已经有@media、@support 查询形式的条件,可以非常灵活地选择对应的样式,然而还有一个新的提议叫做 when/else,这语法似乎看起来更加明了方便
@零一
2021/12/16
8480
【C++11】 包装器 | bind
function包装器 也被叫做 适配器 C++11中function本质是类模板,也是一个包装器
lovevivi
2023/10/17
2690
【C++11】 包装器 | bind

相似问题

相对包装器中的CSS居中内容

10

#CSS包装器无法识别内容

24

CSS拉伸包装器垂直封装内容

17

带有CSS样式的内容包装器问题

21

HTML/CSS -自动调整包装器中内容的宽度

23
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档