gpt4 book ai didi

c++ - 使用傅立叶描述符近似形状边界

转载 作者:塔克拉玛干 更新时间:2023-11-03 07:37:37 26 4
gpt4 key购买 nike

我正在尝试使用傅立叶描述符来近似形状边界。我知道这是可以做到的,因为我已经在类里面学习过它并在多个来源中阅读过它。

要获得 (x,y) 坐标边界的傅里叶描述符,我执行以下操作:1) 将 (x,y) 坐标转换为 x + iy 形式的复数2) 将这组新数字输入一维傅里叶变换3) 输出是傅立叶描述符

为了近似边界,我简单地删除(设置为零)高频,然后应用傅里叶逆变换,然后将复数转换回 (x,y) 坐标,然后从这个新集合重建图像的坐标。我的项目的目标是根据我设置为零的项的数量,找出我可以在多大程度上近似边界。

我的问题是,每当我将任何频率设置为 0 时,我的输出图像都非常小并且呈现出非常奇怪的图案。

我在下面包含了一个示例。输入图像是一个普通的正方形。给出的第一个输出图像是正常使用所有傅里叶描述符重建的图像。请注意,整个边界并不存在,因为边界像素的数量被采样为 256,并且我在输出时没有费心连接这些点。另请注意,输出被翻译到左下角,这是故意的。第二个输出图像是当我只使用前 128 个频率时。

Input Image http://img19.imageshack.us/my.php?image=square0.bmp

Output Image 1: All frequencies http://img27.imageshack.us/my.php?image=square0normal.bmp

Output Image 2: First half of frequencies http://img23.imageshack.us/my.php?image=square0out.bmp

有谁知道为什么会发生这种情况?

编辑:第一次在这里放图片,不知道为什么没有显示..这里是链接:
Input image
Output1
Output2

这里还有一个 link to a document that talks about this a bit , 它从第 5 页的末尾开始。

最佳答案

如果您去掉低频而不是高频,您得到的结果就是预期的结果。您确定哪些频率是哪些?

关于c++ - 使用傅立叶描述符近似形状边界,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/617185/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com