这是LoG过滤的公式: alt text http://homepages.inf.ed.ac.uk/rbf/HIPR2/eqns/eqnlog2.gif
同样在使用LoG过滤的应用程序中,我看到只使用一个参数调用该函数:sigma(σ).我想尝试使用该公式进行LoG过滤(之前的尝试是通过高斯滤波器,然后是laplacian滤波器,带有一些滤波器窗口大小)但是看看那个公式我无法理解滤波器的大小如何与这个公式相关联,是吗?意味着过滤器尺寸是固定的?你能解释一下如何使用它吗?
filtering image-processing gaussian laplacian laplacianofgaussian
背景
这是来自电子歌曲的歌曲剪辑视频。在视频的开头,歌曲全速播放。当您放慢歌曲速度时,您可以听到歌曲使用的所有独特声音。其中一些声音重复。
问题描述
我想要做的是创建一个像下面这样的视觉效果,其中为每个独特的声音创建一个水平轨道/行,该轨道上有一个彩色块,对应于声音播放的歌曲中的每个时间帧。音轨/行应按声音与每个音轨的相似程度排序,越相似的声音越靠近。如果声音完全相同,以至于人类无法区分它们,那么它们应该被视为相同的声音。
例如,如果下面的 5 个波中的每一个都代表声音产生的声波,则这些声音中的每一个都将被视为相似,并且将在网格上垂直放置在一起。
尝试
我一直在看一个例子拉普拉斯分割在librosa。标记为结构组件的图形看起来可能正是我所需要的。从阅读论文来看,他们似乎试图将歌曲分解为合唱、诗歌、桥段等片段……但我实际上是在尝试将歌曲分解为 1 或 2 个节拍片段。
这是拉普拉斯分割的代码(如果您愿意,也可以使用Jupyter Notebook)。
# -*- coding: utf-8 -*-
"""
======================
Laplacian segmentation
======================
This notebook implements the laplacian segmentation method of
`McFee and Ellis, 2014 <http://bmcfee.github.io/papers/ismir2014_spectral.pdf>`_,
with a couple of minor stability improvements.
Throughout the example, we will refer to equations in the paper by number, so it will be
helpful …Run Code Online (Sandbox Code Playgroud)我已经实现了一种使用普通C++进行无缝混合的图像混合方法.现在我想将此代码转换为GPU(使用OpenGL ES 2着色器用于移动设备).基本上,该方法为每个图像创建高斯和拉普拉斯金字塔,然后从低分辨率到顶部组合(另见文章"拉普拉斯金字塔作为紧凑图像代码",来自Burt等,1983).
我的问题是拉普拉斯金字塔等级可以有负值,但我的设备不支持浮点或整数类型纹理(例如使用ORB_texture_float扩展).
我已经找过处理基于GPU的金字塔的文章,但没有找到真正有用的东西.
问候,
编辑 好像没有"好"的方法来完全在GPU上计算拉普拉斯金字塔,除了使用两个通道(一个用于符号,一个用于值),它们不支持任何一种签名类型(例如ARB_texture_float)或大于当图像的数据范围在[0..255]之间时的字节.我的拉普拉斯金字塔在具有ARB_texture_float扩展的GPU上完美运行但没有扩展(并且一些调整以压缩范围)金字塔由于范围压缩而变得"错误".
我想知道如何计算任意奇数大小内核(二阶导数)的拉普拉斯面罩。例如,我知道3x3将是:
1 1 1
1 -8 1
1 1 1
Run Code Online (Sandbox Code Playgroud)
5x5的蒙版将是:
1 1 1 1 1
1 1 1 1 1
1 1 -24 1 1
1 1 1 1 1
1 1 1 1 1
Run Code Online (Sandbox Code Playgroud)
但是,这就是我所知道的。我不知道这些是如何计算的。我相信所有二阶导数掩码都始终具有不同的中心数字,并由1包围。我的问题是,如何计算n为奇数的nxn的中心数?(例如7x7、15x15等),我正计划在Matlab中实现此功能。感谢您能提供的任何帮助。
我正在 OpenCV 中学习过滤器,但我对拉普拉斯过滤器有点困惑。我的结果与 OpenCV 库中的拉普拉斯滤波器非常不同。
首先,我对图像使用高斯滤波器:
Mat filtroGauss(Mat src){
Mat gauss = src.clone();
Mat temp(src.rows+2,src.cols+2,DataType<uchar>::type);
int y,x;
for (y=0; y<src.rows; y++){
for (x=0; x<src.cols; x++) temp.at<uchar>(y+1,x+1) = src.at<uchar>(y,x);
}
int mask[lenMask*lenMask];
mask[0] = mask[2] = mask[6] = mask[8] = 1;
mask[1] = mask[3] = mask[5] = mask[7] = 2;
mask[4] = 4;
int denominatore = 0;
for (int i=0; i<lenMask*lenMask; i++) denominatore += mask[i];
int value[lenMask*lenMask];
for(y=0; y<src.rows; y++){
for (x=0; x<src.cols; x++){
value[0] = temp.at<uchar>(y-1,x-1)*mask[0];
value[1] = temp.at<uchar>(y-1,x)*mask[1];
value[2] …Run Code Online (Sandbox Code Playgroud) 我使用 python 代码找到一个图像的拉普拉斯算子,只有一个通用内核 = 1(使用 cv2)。现在我想使用一个新内核,array([0,-1,0][-1,5,-1][0,-1,0])但不确定如何使用我拥有的代码来实现它,或者如何编写调用内核的新代码。
ksize = 1
scale = 1
delta = 0
ddepth = cv2.CV_64F
img = cv2.imread('/Users//Desktop/Programming/image.tif')
img = cv2.GaussianBlur(img,(3,3),0)
gray = cv2.cvtColor(img,cv2.COLOR_BGR2GRAY)
gray_lap = cv2.Laplacian(gray,ddepth,ksize = ksize,scale = scale,delta = delta)
dst = cv2.convertScaleAbs(gray_lap)
plt.imshow(dst, cmap = 'gray')
Run Code Online (Sandbox Code Playgroud) 我目前正在研究差异隐私并希望可视化我的数据集噪声分布。我使用拉普拉斯分布作为我的噪声添加机制。
我已经计算出β(范围参数)和数据集(平均值)和奇迹我应该使用(其拉普拉斯函数的真实输出dlaplace(),plaplace(),qlaplace(),rlaplace()从rmutil包),用于噪声分布。我也不明白为什么我不能只生成带有拉普拉斯参数和均值的噪声分布,而不在上述函数中指定数据 ( y, q, p, n)。
我对获得拉普拉斯分布并将其可视化的想法如下所示:
df <- ?laplace(?,m=33.6, s=7.32)
plot(df)
Run Code Online (Sandbox Code Playgroud)
? 代表我不确定的区域,m是平均值,s是比例参数。