MeanShift算法C++解析(五)
来源:互联网 发布:程序员工具箱 编辑:程序博客网 时间:2024/04/29 05:39
最近四旋翼高空坠落几乎完全报废,阻碍了四旋翼飞行平台的进展,于是顺便开始写论文和思考一下Mean shift算法的改进。觉得核函数是一个很值得改进的地方,于是改了下面的代码用来重新分配之前提到的投票的权利。之前和核函数,高斯也好,均匀核函数也好都值考虑了平面距离。突发奇想加入色彩空间的距离或许效果更好,简单一试,发现果然如此,而且这些代码只需要出现在目标初始化函数里面,并不影响算法的时间复杂度。
int qr_mean = 0,qg_mean = 0,qb_mean = 0;
for (i = t_y+t_h/3;i < t_y + (t_h*2)/3; i++)
{
for (j = t_x+t_w/3;j < t_x + (2*t_w)/3; j++)
{
//rgb颜色空间量化为16*16*16 bins
qr_mean += ((u_char)current->imageData[i * current->widthStep + j * 3 + 2]) / 16;//char *imageData;
qg_mean += ((u_char)current->imageData[i * current->widthStep + j * 3 + 1]) / 16;
qb_mean += ((u_char)current->imageData[i * current->widthStep + j * 3 + 0]) / 16;
}
}
这个加入的色彩空间距离的体现就是m_wei[i * t_w + j] = (1 - dist / h)*((double)abs(q_r-qr_mean)/16)*((double)abs(q_g-qg_mean)/16)*((double)abs(q_b-qb_mean)/16)这一句权值生成语句。后面分别是三个rgb通道的色彩距离分量。之前想通过图像预处理的方式来加强图像色彩的对比度,让Mean shift算法更加可靠一些,但是这个方法其实异曲同工,但是简单很多。
当然啦,这个优化方法的局限性其实很大,就是对色彩凸显程度要求高很多,而且对物体的非刚性更加敏感了。
0 0
- MeanShift算法C++解析(五)
- MeanShift算法C++解析(一)
- MeanShift算法C++解析(二)
- MeanShift算法C++解析(三)
- MeanShift算法C++解析(四)
- 均值漂移(Meanshift)算法
- Meanshift解析
- meanshift算法学习(二):opencv中的meanshift
- meanshift算法学习(三):自己实现meanshift
- Meanshift 算法
- meanshift算法
- meanshift算法
- meanshift算法
- meanshift算法
- meanshift算法
- meanshift算法
- MeanShift算法
- Meanshift算法
- 从“煎鸡蛋”到“孵小鸡”松下空调温暖呵护生命
- Action层, Service层 和 Dao层的功能区分
- Note-1-基本概念
- ACM ICPC Vietnam National Second Round D X = X + X % 100
- TC第一波:2015/11/3
- MeanShift算法C++解析(五)
- Leetcode || Letter Combinations of a Phone Number
- 云计算简介
- 【OpenCV人脸识别入门教程之三】CMake编译OpenCV源码
- DBCP连接池
- Hibernate一级缓存详解
- 巴氏距离实例
- 最简单的代码实现小球式弹出菜单
- matlab中double、im2double、mat2gray区别