MATLAB中均值漂移矢量的计算

MATLAB中均值漂移矢量的计算,matlab,Matlab,我正在寻找一种优雅的方法来计算MATLAB中uint8(960x540x3)图像的平均移位向量。meanshift向量由以下公式给出: S_h是我们正在寻找的一个半径为h的圆的邻域。在MATLAB中,我用这些属性构建了逻辑掩码(s_mask) w(x_i)是具有x-y坐标的像素的概率图的值。这是一个标量值w是一个960x540矩阵 x是邻域圆的中心。我感兴趣的是找到一种快速的方法来计算这样一个向量,最好不用for循环,而只需矩阵乘法。首先需要将uint8转换为double。然后我将使用conv

我正在寻找一种优雅的方法来计算MATLAB中
uint8(960x540x3)
图像的平均移位向量。meanshift向量由以下公式给出:

S_h
是我们正在寻找的一个半径为
h
的圆的邻域。在MATLAB中,我用这些属性构建了逻辑掩码(
s_mask

w(x_i)
是具有x-y坐标的像素的概率图的值。这是一个标量值<代码>w是一个960x540矩阵


x
是邻域圆的中心。我感兴趣的是找到一种快速的方法来计算这样一个向量,最好不用for循环,而只需矩阵乘法。

首先需要将
uint8
转换为
double
。然后我将使用
conv2
与掩码进行卷积,可能还需要将掩码转换为
double
。这就是分子
conv2
有几个选项可供选择,用于在遮罩部分脱离图像的边缘执行操作。将遮罩与贴图一起卷绕会产生尺寸笨拙的矩阵(1079x1919)。这是因为我在前面的评论中提到了边缘效果。尝试
conv2(…'same')
conv2(…'valid')
(说明)首先需要将
uint8
转换为
double
。然后我将使用
conv2
与掩码进行卷积,可能还需要将掩码转换为
double
。这就是分子
conv2
有几个选项可供选择,用于在遮罩部分脱离图像的边缘执行操作。将遮罩与贴图一起卷绕会产生尺寸笨拙的矩阵(1079x1919)。这是因为我在前面的评论中提到了边缘效果。请尝试
conv2(…'same')
conv2(…'valid')
(说明)