Schmid也是一种类Gabor图像滤波器,在这篇文章[1]中有详细推导和介绍。

一种更简洁的表达公式是:

当中,r为核半径,Z为归一化參数,τ和σ是比較重要的參数,在ReID提取TextFeature中,常常使用例如以下一系列參数:

(2,1), (4,1), (4,2), (6,1), (6,2), (6,3), (8,1), (8,2), (8,3), (10,1), (10,2), (10,3), (10,4)

此外,还结合前面的Gabor滤波器,γ,θ,λ,σ的參数分别使用:(0.3,0,4,2), (0.3,0,8,2), (0.4,0,4,1), (0.4,0,4,1), (0.3,π/2,4,2), (0.3,π/2,8,2), (0.4,π/2 ,4,1), (0.4,π/2,4,1)

下面是11个滤波核的示意图:

生成Schmid核函数代码:

Mat getSchmidFilter(float tao, float sigma){
float r = sigma/(4.0f*tao);
float sigma2 = sigma*sigma;
//int half_filter_size = int(r+0.5);
int half_filter_size = 10;
int filter_size = 2*half_filter_size+1;
Mat schmid = Mat::zeros(filter_size,filter_size,CV_32F);
float filter_sum = 0.0f;
for(int i=0;i<filter_size;i++){
float* s = schmid.ptr<float>(i);
for(int j=0;j<filter_size;j++){
float x = i-half_filter_size;
float y = j-half_filter_size;
r = sqrt(x*x+y*y);
float tmp = 2*PI*tao*r/sigma;
float tmp2 = r*r/(2.0f*sigma2);
s[j] = cos(tmp)*exp(-tmp2);
filter_sum += s[j];
}
}
//cout<<filter_size<<" "<<filter_sum<<endl;
//cout<<schmid<<endl;
if(abs(filter_sum-0.0f)<1e-6){
return schmid;
}
for(int i=0;i<filter_size;i++){
float* s = schmid.ptr<float>(i);
for(int j=0;j<filter_size;j++){
s[j]/=filter_sum;
}
}
return schmid;
}

对图像进行卷积滤波效果如图:

參考文献:

[1] Schmid, Cordelia. "Constructing models for content-based image retrieval."Computer Vision and Pattern Recognition, 2001. CVPR 2001. Proceedings of the 2001 IEEE Computer Society Conference on. Vol. 2. IEEE, 2001.

[2] Gray, Douglas, and Hai Tao. "Viewpoint invariant pedestrian recognition with an ensemble of localized features." Computer Vision–ECCV 2008. Springer Berlin Heidelberg, 2008. 262-275.

(转载请注明作者和出处:http://blog.csdn.net/xiaowei_cqu 未经同意请勿用于商业用途)

最新文章

  1. (转载)(收藏)Awk学习详细文档
  2. NET中Application,Session,Cookie,ViewState,Cache,Hidden 缓存机制 .
  3. (4) 深入理解Java Class文件格式(三)
  4. 【转】 全世界最短的IE判定
  5. zabbix错误记录
  6. Shell 函数 function [转]
  7. yarn资源管理器高可用性的实现
  8. js_面向对象编程
  9. Linux简单程序实例(GNU工具链,进程,线程,无名管道pipe,基于fd的文件操作,信号,scoket)
  10. ROADMAP
  11. Django学习笔记之数据库-模型的操作
  12. vscode中使用beautify插件格式化vue文件
  13. SQL Server datetime类型转换超出范围的报错
  14. Gym101889E. Enigma(bfs+数位)
  15. SpringMVC 的&lt;mvc:resources&gt;使用映射路径展示文件服务器上的图片
  16. 回顾HashMap
  17. 有关C++模板inline的高性能在lambda与function的体现
  18. 【 Gym - 101138F 】GukiZ Height (数学)
  19. Android 源码编译 指定userdata.img、system.img、cache.img容量大小【转】
  20. c语言中的0UL或1UL是什么意思

热门文章

  1. CSS3D动画制作一个3d旋转的筛子
  2. 如何选择分布式事务形态(TCC,SAGA,2PC,基于消息最终一致性等等)
  3. ARCGIS知乎上的好文章
  4. Pwn With longjmp
  5. 自定义RatingBar评分控件
  6. Oracle SQL_TRACE使用小结
  7. maven 结合mybaits整合框架,打包时mapper.xml文件,mapper目录打不进war包去问题
  8. UBUNTU16.04 连接不了cn.archive.ubuntu.com
  9. asp.net MVC4 框架揭秘 读书笔记系列2
  10. 转载:从程序员的角度看ASCII, GB2312, UNICODE, UTF-8