信号处理

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

2
边缘检测器检测到的连接边缘
我有一个从Canny边缘检测器获得的二进制图像。在中心没有很好地检测到边缘,我需要加入它们。边缘的连接取决于方向和邻域。如果顶点低于阈值(例如小于5像素距离),则需要连接顶点。如果我的几乎线性特征定位良好,则应放宽此阈值。(这是最好的情况。) 我尝试了霍夫变换,但对我来说不起作用,因为我没有直线。膨胀和侵蚀也不好;他们使图像更加混乱。 我尝试的方法是先检测顶点和节点(在MATLAB中使用bwmorph),然后将叶子作为单独的功能。这样做如下: 在3x3窗口中扫描,寻找邻居。 遍历完整的连接对象。 尝试拟合一条线(或者可能是二次多项式)。 逐个功能检查是否值得连接。 实现不是很简单,因为需要连接顶点的决策部分比较棘手。

4
Scipy-音频处理
我正在寻找音频信号处理的良好工具。例如语音和音乐分析,自动语言识别等。 Scipy库是否提供音频处理功能?它是否有用于音频信号处理的好工具? 你能建议一个工具吗?

2
检测图像中蜿蜒的河流
我有表面:ž 我(X ,ÿ )与每个表面上的测量的属性(变量):一个我(X ,ÿ )。大多数表面将在整个表面上具有随机分布的属性,但是某些表面(有趣的表面)将显示出蜿蜒的河流模式:ññnž一世(x ,y)ž一世(X,ÿ)z_i(x,y)一种一世(x ,y)一种一世(X,ÿ)a_i(x,y) 我需要您的帮助,以提出一个可以告诉我们表面中最有可能具有这种图案的测量方法。ññn 如下所示,有许多可能具有相同直方图的地图;因此该度量需要“奖励”空间连续性。为了说明这一点,我创建了一个随机图像,其直方图与河流图像几乎相同: 因此,图像统计信息熵可能只是解决方案的一部分。 这是一个没有蜿蜒河流图案的图像示例: 我的图像是合成的(在Matlab中制作)。在现实生活中,没有图案的图像可能会以相似值的小斑点形式具有更多的空间连续性。 以下是灰度图像:

2
哪种带通滤波器设计将产生最短的脉冲响应?
设计一个简单的二阶IIR带通Buterworth滤波器,其中心频率为500 Hz,带宽为1倍频程,可以得到以下频率响应... 现在,如果我将脉冲响应进行归一化并将其转换为dB,我们可以观察到脉冲响应的衰减。 在此比例尺上绘制时,脉冲响应的衰减与时间大致呈线性关系,使我们能够定义衰减时间统计量(就像在室内声学中可以定义混响时间一样)。为了使该滤波器的脉冲响应降至30 dB以下,需要大约11 ms。 我们正在尝试最小化此衰减时间,并保持以下常数: -3 dB带宽 筛选顺序 我很乐意接受(在限制范围内)通带和阻带波纹,和/或为达到此目的而在过渡带的陡度上做出妥协。谁能建议一种如上定义的具有尽可能短的脉冲响应持续时间的滤波方法?

1
通过MUSIC使用特征向量估计信号的基本频率
内容: (免责声明:这不是通信问题)。 我正在尝试估计真实的周期性信号的基本频率。通过将原始信号与脉冲信号进行匹配滤波来构造此信号。(匹配的过滤器)。结果信号具有以下特征: 这是周期性的。(基本为1 /周期),这就是我试图估计的值。 它是不固定的时间。具体地,周期脉冲的幅度可以在幅度上变化。(例如,一个脉冲可以为低,而另一个脉冲可以为高,而下一个脉冲又可以为低,并且在该介质之后一个,等等)。 我相信它的频率是固定的(只要您接受变化的幅度,但不改变频带)。 它具有谐波失真。我的意思是,(如果我错了,请纠正我),但是信号中的单个脉冲不是正弦波,而是像高斯,三角形,半抛物线等“笨拙”的形状。 。 我正在尝试估计该信号的基本频率。 当然,有时原始信号不过是噪声而已,但它仍会通过路径并得到匹配滤波。(稍后会详细介绍)。 我尝试过的 现在,我知道许多基本的频率估算器,例如 自相关方法 YIN及其所有依赖项 FFT方法。 等等, 尹:我还没有尝试过尹。 FFT方法:FFT方法将为您提供所有谐波和基波,但是我注意到,由于基波并不总是最高峰,因此它特别挑剔,特别是对于这种非平稳业务。很快,您会发现自己试图确定多个峰中的哪个峰是基本峰,这成为一个难题。 自相关:自相关方法似乎比FFT方法要好,但是它仍然对时域信号的幅度不规则敏感。自相关方法测量中心波瓣到下一个最高波瓣之间的距离。该距离对应于基本距离。但是,在非平稳情况下,此副瓣可能太低,您可能会在某些阈值方案中错过它。 然后我想到也许可以使用像MUSIC这样的子空间方法来估计基本面。经过测试,我发现它确实确实给出了一些非常不错的结果-它在与信号基频相对应的频率处稳健地(甚至在非平稳情况下)达到峰值。(将您要查找的信号数设置为2,它将检索基本信号-即,选择信号协方差矩阵的2个最高特征向量(对应于特征值的最大值),丢弃它们,然后构造从剩余的噪声子空间中,将您的假设复杂正弦曲线投射到它们上,进行倒数运算,瞧,这是一个很好的伪频谱)。 问题与解答: 话虽如此,我仍然想理解为什么它会更好。 在MUSIC中,我们丢弃信号子空间并使用噪声子空间。在我看来,信号子空间的特征向量实际上是某种“最适合”的-实际上它们是最佳匹配滤波器。因此:为什么不直接使用信号子空间特征向量呢?(我知道它不再是MUSIC了,但是为什么使用噪声子空间更好呢?) 最后,最后一个问题是,尽管这种方法对于非平稳信号(如上所定义)似乎更健壮,但问题在于,即使系统中只有噪声,我现在总是会得到答案!(如上所述,当您没有周期性信号时,原始的预匹配滤波信号有时可能只是白噪声)。 可能存在什么方法来抵消这种情况?我尝试查看特征值,在只有信号的噪声与有信号的情况下,它们的衰减还有更多的“曲率”,但我担心它可能不够鲁棒。 奖金: 协方差矩阵的特征向量何时正弦于VS?是什么决定它们是否是正弦曲线?他们为什么不摆正呢?还是在此处插入其他形状的信号?

5
识别仅声音录制中唱歌的开始位置
我有一个小型的karaoke风格的应用程序,用户在其中唱歌4行,每行之间有一秒钟的间隔。没有背景音乐,所以只有声音,希望可以使问题更容易解决。 我正在寻找一种最可靠的方法来准确检测用户在录音中从哪里开始和结束唱歌第1行,从开始和结束唱歌第2行,等等。 我整理了一个思路简单的算法,该算法可以在录音中的背景噪音很小时(例如何时发生?)工作,但是在噪音最小的情况下会崩溃。 有人可以指出我要更强大的东西吗?


2
如何将绘制的汉字与笔画动画数据库匹配
我有一个汉字笔画动画数据库。每个条目基本上都是一组点,这些点显示了应如何绘制字符以及以什么顺序绘制字符。 为了简化查找​​,我想允许用户用鼠标手动绘制一个字符,然后我的软件会提出一些可能的匹配项(例如在iPhone上完成)。 我在Google上进行了搜索,但没有找到任何相关内容。我想知道我需要看什么算法或研究论文。我想这与形状识别有关,除了形状(汉字)的绘制顺序也很重要。有什么建议吗?


4
基本的hsb皮肤检测,霓虹灯照明
我希望这是问的正确地方。否则,请为我的错误感到抱歉,并请愿为我提供一个更好的网站。 我正在尝试使用一定范围的hsb图像实现一个超级简单的皮肤检测器。我正在这里和这里描述的方法。 我尝试使用网络摄像头中的视频源。如果我使用阳光照明,效果会很好(不是很好,但是很好),但是在霓虹灯下..那是一团糟。检测到很多白色区域,到处都有很多噪音。 为什么? 我正在使用第二个来源中描述的算法: 将图像转换为HSV颜色空间 将白色放在0 <H <38的范围内 扩张过滤器 腐蚀过滤器 模糊滤镜

1
检测二维点云中的圆(椭圆)
给定一组点(2D)即,点云(PC),问题是关于一个robust,accurate和computing-friendly方法找到圆(或椭圆形的高级版本)。 直观的想法是在所有可能的点(作为中心){无限!}和半径(再次无限!)上使用蛮力搜索。这是极其缓慢且效率低下的。 如图所示,每个拟合的圆将基于圆周长上的点数(nn)短于阈值(t)进行排名。因此derr存在一个平均距离。 在高级形式中,需要安装椭圆形。 有什么想法,头脑风暴,经验,评论吗?

2
如何更改公式以检测各个角度的条形码?-MATLAB
如何更改公式以检测各个角度的条形码? rgb = imread('barcode4.jpg'); % Resize Image rgb = imresize(rgb,0.33); figure(),imshow(rgb); % Convert from RGB to Gray Igray = double(rgb2gray(rgb)); % Calculate the Gradients [dIx, dIy] = gradient(Igray); B = abs(dIx) - abs(dIy); % Low-Pass Filtering H = fspecial('gaussian', 20, 10); C = imfilter(B, H); C = imclearborder(C); figure(),imagesc(C);colorbar

4
ICA-协方差矩阵的统计独立性和特征值
我目前正在使用Matlab创建不同的信号,通过将它们乘以混合矩阵A进行混合,然后尝试使用FastICA取回原始信号。 到目前为止,与原始信号相比,恢复的信号确实很差,这不是我所期望的。 我正在尝试查看我是否做错了什么。我正在生成的信号如下: s1 = (-x.^2 + 100*x + 500) / 3000; % quadratic s2 = exp(-x / 10); % -ve exponential s3 = (sin(x)+ 1) * 0.5; % sine s4 = 0.5 + 0.1 * randn(size(x, 2), 1); % gaussian s5 = (sawtooth(x, 0.75)+ 1) * 0.5; % sawtooth …

2
如何从心电图图像恢复信号
在我的项目中,我必须数字化使用普通相机(jpeg)拍摄的ECG图像。例如,我有以下相机捕获的图像: 我想得到这样的东西: 然后是数字化的数据(x,y点),如本视频中有关ECG的数字化 我不知道该怎么做,所以我搜索并查阅了几篇研究论文。算法的一般方法是: 更改为灰度图像 删除网格线 添加缺失点 将2D图像转换为1D图像 我坚持第二点,即删除网格线。我查找了更多参考资料以进行此操作,发现直方图分析可能会有所帮助。 您能否指导我如何执行此操作(我正在使用MATLAB 2010)?任何帮助,将不胜感激。


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.