信号处理

为信号,图像和视频处理领域的艺术和科学从业者提供的问答

3
用傅里叶方法进行层析成像重建的代码有什么问题?
最近,我一直在研究层析重建算法。我已经有了FBP,ART,类似于SIRT / SART的迭代方案甚至使用直线线性代数的慢速工作实现(慢!)。 这个问题与这些技术无关 ; “为什么有人会那样做,这里是一些FBP代码”这样的形式的答案并不是我想要的。 我要对该程序执行的下一件操作是“ 完成设置 ”并实现所谓的“ 傅立叶重构方法 ”。我对此的理解基本上是将1D FFT应用于正弦图“曝光”,将其作为放射状的“轮辐”安排在2D傅立叶空间中(这是非常有用的事情,直接根据中心切片定理可以得出) ,从这些点插值到该2D空间中的规则网格,然后应该可以进行傅立叶逆变换以恢复原始扫描目标。 听起来很简单,但是我运气不佳,无法进行任何看起来像原始目标的重建。 下面的Python(numpy / SciPy / Matplotlib)代码是我想做的最简洁的表达式。运行时,它将显示以下内容: 图1:目标 图2:目标的正弦图 图3:FFT编辑的正弦图行 图4:第一行是从傅立叶域正弦图行内插的二维FFT空间;最下面一行是(出于比较目的)目标的直接2D FFT。这是我开始变得可疑的地方。从正弦图FFT插值的图看起来与通过直接对目标进行2D FFT绘制的图相似...但有所不同。 图5:图4的傅立叶逆变换。我希望它比实际更能被识别为目标。 有什么想法我做错了吗?不知道我对傅立叶方法重构的理解是否存在根本性缺陷,或者我的代码中仅存在一些错误。 import math import matplotlib import matplotlib.pyplot as plt import numpy as np import scipy.interpolate import scipy.fftpack import scipy.ndimage.interpolation S=256 # Size of target, …

5
如何消除图像中的眩光和亮度(图像预处理)?
我有一张图片 有什么办法可以消除亮点?请帮忙谢谢 编辑: 使用高斯运算后,再使用imagesc显示后,将获得以下输出,该输出清楚地显示了亮红色的斑点如何去除它们 红色频道: 绿色通道: 蓝色频道: 编辑2: 使用Gabor滤波器进行缺陷检测 其直方图: 如何自适应地计算其适当的阈值?

3
高斯模糊-标准偏差,半径和内核大小
我已经在GLSL中实现了高斯模糊片段着色器。我了解所有这些背后的主要概念:卷积,使用线性度分离x和y,多次通过以增加半径... 我仍然有几个问题: sigma和半径之间有什么关系? 我读过西格玛等于半径,我看不到西格玛是如何用像素表示的。还是“半径”只是sigma的名称,与像素无关? 如何选择西格玛? 考虑到我使用多次传递来增加sigma,我如何选择一个良好的sigma以在任何给定传递中获得我想要的sigma?如果所得的sigma等于sigma 的平方和的平方根,并且sigma等于radius,那么获得所需半径的简单方法是什么? 内核的合适大小是多少,它与sigma有什么关系? 我已经看到大多数实现使用5x5内核。对于质量不错的快速实现来说,这可能是一个不错的选择,但是还有其他理由选择另一个内核大小吗?sigma与内核大小有何关系?我是否应该找到最佳的sigma,以便使内核外部的系数可以忽略不计并且仅进行归一化?

1
二次多项式滤波器的设计有解析方法吗?
以下论文描述了Teager-Kaiser能量算子在X射线图像增强中的应用: Reinhard Bernstein,Michael S. Moore和Sanjit K. Mitra,“用于图像增强的可调二次滤波器”, Proc。IEEE国际图像处理会议(ICIP),加利福尼亚州圣塔芭芭拉,第1卷。1,第287-290页,1997年10月。http: //vision.ece.ucsb.edu/publications/view_abstract.cgi?52 作者通过使用类似的线性算子进行类比,得出了滤波器行为的直觉(即“因此Teager滤波器的输出大约等于由本地平均值加权的高通滤波器响应”)。为了精确起见,我用二次多项式滤波器来表示非线性,非递归滤波器,这些滤波器可以完全由截短的Volterra级数来表征,如下所示(对于一维情况): ÿ(n )= ∑米1个= 0ñ1个− 1H1个(米1个)x (n − m1个) + ∑米1个= 0ñ2− 1。∑米2= 0ñ2− 1H2(米1个,米2)x (n − m1个)x (n − m2)ÿ(ñ)=∑米1个=0ñ1个-1个H1个(米1个)X(ñ-米1个)+∑米1个=0ñ2-1个。∑米2=0ñ2-1个H2(米1个,米2)X(ñ-米1个)X(ñ-米2) y(n) = \sum_{m_1=0}^{N_1-1}{ h_1(m_1)x(n - m_1) } + \sum_{m_1=0}^{N_2-1}{\hphantom{.}\sum_{m_2=0}^{N_2-1}{ h_2(m_1,m_2)x(n - m_1)x(n - m_2) } } 似乎大多数设计低阶多项式滤波器的方法都涉及系统识别框架,但对为什么估计的滤波器起作用没有任何深入的了解。目前基于线性类比的分析方法是否是最新技术,还是可以使用任何已知的数学工具?
19 filters 

3
告诉别人我如何听到自己的声音
太..我一直在想这个东西。我们都知道,我们的声音与自己听到的声音有所不同。通过记录自己并听取别人的声音很容易发现别人。 但是反过来呢? 有没有一种方法可以改变我们的声音,使他人在感知自己的声音时可以听到我们的声音?我发现这是一个非常有趣的问题。遗憾的是,经过几个Google搜索后,我在网上找不到任何内容。没有人考虑过这个,还是因为某种我看不见的原因而不可能呢? 任何线索,将不胜感激:)。

1
图像上的相关性和卷积之间的区别?
您能否清楚地说明图像上的滤镜完成的相关和卷积之间的区别是什么? 我的意思是根据信号处理定义,我知道卷积描述了LTI系统的输出,也就是说,如果LTI系统由于与输入系统的卷积而产生输出,那么输出信号可以描述为LTI系统的卷积结果。输入信号和LTI系统的脉冲响应。至于相关性,它描述了信号之间的相似性。但是,卷积和相关性对图像有何影响?它们在影响方面有何不同? 谢谢

1
拉普拉斯变换是否多余?
拉普拉斯变换是傅立叶的一般化变换由于傅立叶变换的拉普拉斯变换为(即小号是纯虚数的=实部为零小号)。š = Ĵ ωs=jωs = j\omegassssss 提醒: 傅里叶变换:X(ω )= ∫x (t )e- Ĵ ω ŧdŤX(ω)=∫x(t)e−jωtdtX(\omega) = \int x(t) e^{-j\omega t} dt 拉普拉斯变换:X(s )= ∫x (t )e- 小号ŤdŤX(s)=∫x(t)e−stdtX(s) = \int x(t) e^{-s t} dt 此外,可以从信号的傅里叶变换及其拉普拉斯变换中精确地重建信号。 由于重建只需要一部分Laplace变换(),其余的Laplace变换(ℜ (s )≠ 0)似乎对重建没有用处 ...R (s )= 0ℜ(s)=0\Re(s) = 0R (s )≠ 0ℜ(s)≠0\Re(s) \neq 0 是真的吗 …

4
用于语音活动检测的库(非语音识别)
在回答我之前的问题时,我想知道是否存在任何语音检测库。通过语音检测,我的意思是传递音频缓冲区并获取语音开始和停止位置的索引。因此,如果我在44kHz的频率下有10秒的音频采样时间,那么我希望得到一个数字数组,例如: 44000 88000 123000 190334 ... 例如,这将表明语音从一秒钟开始,然后在两秒钟之内结束,依此类推。 我不需要的是语音识别,它可以从口语单词中写出文字。不幸的是,这是我在Google“语音检测”中看到的很多内容。 如果该库是C,C ++甚至是Objective-C,那将非常好,因为我正在为iPhone编写应用程序。 谢谢!
18 audio  speech 

2
移动平均滤波器的截止频率是多少?
我需要设计一个截止频率为7.8 Hz的移动平均滤波器。我以前使用过移动平均滤波器,但据我所知,唯一可以输入的参数是要平均的点数...这与截止频率有什么关系? 7.8 Hz的倒数是〜130 ms,我正在处理以1000 Hz采样的数据。这是否意味着我应该使用130个样本的移动平均滤波器窗口大小,还是这里缺少其他内容?

4
Canny Edge检测器的局限性是什么?
关于使用边缘检测的边缘检测算法和应用的大多数文献,都引用了Canny的边缘检测器。如此之多,以至于看起来几乎是边缘检测的“解决方案”。当然,它将在平衡噪声和保留边缘方面做得最好。 但是,出于好奇,Canny的边缘检测器是否值得关注?还是在Canny最好的应用领域? 在这种情况下,更快的实现并不是真正的问题。边缘检测器好坏的重点应该在于所生成边缘的质量和实用性。 另外,我确实不是在关注特定于实现的问题。我正在寻找算法固有的更多理论限制或特征。

5
拟合分段线性数据
拟合分段线性但有噪声的数据的可靠方法是什么? 我正在测量一个信号,它由几个几乎线性的部分组成。我想将几行原子地拟合到数据中以检测过渡。 数据集由几千个点组成,包含1-10个细分,而我知道细分的数量。 这是我想自动执行的示例。
18 algorithms 

5
如何比较相机拍摄的两张图片并判断是否有足够的差异来检测运动?
我想将手机用作CCTV系统来控制房屋中的房间,并在有东西移动时显示警报。 现在,我成功完成的工作是每分钟抓一张图片,并通过PHP脚本将其上传到我的服务器。现在,我想比较当前图片和1分钟前的图片,并检测是否有人进入了房间。因此,基本上,我需要比较图片上像素的差异(但还要考虑到云可能只是打个招呼并在一分钟内改变了亮度) 有谁知道如何实现这一目标或阅读一些文档吗?

2
频域零填充-X [N / 2]的特殊处理
假设我们希望通过频域中的零填充对偶数个样本(例如N = 8)的周期信号进行插值。 X=[A,B,C,D,E,F,G,H] 现在让我们将DFT 填充到16个样本中Y。我看到的每个教科书示例和在线教程在给出时都会插入零。 (然后是插值信号。)[Y4...Y11] Y=[2A,2B,2C,2D,0,0,0,0,0,0,0,0,2E,2F,2G,2H]y = idft(Y) 为什么不改为使用 Y=[2A,2B,2C,2D,E,0,0,0,0,0,0,0,E,2F,2G,2H]? 据我所知(我的数学知识有限): 它使总功率最小化 它确保如果x是实值,那么也是如此y y仍按要求x在所有采样点处相交(我认为这适用于任何p地方Y=[2A,2B,2C,2D,pE,0,0,0,0,0,0,0,(2-p)E,2F,2G,2H]) 那么为什么从来没有这样做呢? 编辑:x不一定是实数值或带限制的。

2
调整图像大小如何影响固有相机矩阵?
我有一个相机矩阵(我知道内在参数和外在参数),其尺寸为HxW。(我将此矩阵用于所需的一些计算)。 我想使用较小的图像,例如:H2×W2H2×W2\frac{H}{2}\times \frac{W}{2}(原件的一半)。为了保持相同的关系,我需要对矩阵进行哪些更改? 我有KKK作为内在参数,(RRR,TTT旋转和平移) cam=K⋅[RT]cam=K⋅[RT]\text{cam} = K \cdot [R T] K=⎛⎝⎜ax000ay0u0v01⎞⎠⎟K=(ax0u00ayv0001)K = \left( \begin{array}&a_x &0 &u_0\\0 &a_y &v_0 \\ 0 &0 &1\end{array} \right) KKK为3 * 3,我想乘上axaxa_x,ayaya_y,u0u0u_0和v0v0v_0 0.5(图像大小被调整的因素),但我不知道。

2
为什么在FFT中会出现频谱泄漏?
我已经尝试使用谷歌搜索和维基百科了,但是除了“这是因为输入信号的频率位于两个区间之间”之外,我没有得到任何答案。 我知道这是原因,但是我不明白的是为什么泄漏似乎扩展到几个相邻的容器,而不是仅一个相邻的容器。 为了说明我在说什么,这里有一些模拟数据(文章末尾的代码): 上面是频率为10的正弦波的FFT频谱(按对数标绘)。采样率为1,采样数为100。该图已进行FFT移位。显然在bin 10处只有一个峰值,其余的则处于数值误差的数量级左右。 这是产生的频率为10.1的频谱。显然,与直接相邻的垃圾箱相比,存在更多的垃圾箱“泄漏”。 这是频率为10.5的图。 问题:为什么会出现这种泄漏,为什么会泄漏到所有其他垃圾箱,而不是直接相邻的垃圾箱? 代码,适合任何有兴趣的人(Python代码) import numpy as np import matplotlib.pyplot as plt xFreq = 10.5 xSize = 100.0 xPeriod = xSize/xFreq x = np.linspace(1,xSize,xSize) data = np.sin(2*np.pi*x/xPeriod) fft = np.fft.fft(data) fft = np.fft.fftshift(fft) fig = plt.figure() ax = fig.add_subplot(111) ax.plot(abs(fft), "o") ax.set_yscale('log') plt.show() 我将xFreq值从更改10.0为10.5,等等。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.