从局部信息推测基恩士的Removing BackGround Information算法的实现。
最近从一个朋友那里看到了一些基恩士的资料,本来是想看下那个比较有特色的浓淡补正滤波器的(因为名字叫Shading Correction Filter,翻译过来的意思有点搞笑),不过看到起相关文档的附近有一个也比价有意思的功能,如下面的截图所示:

左侧有个叫Removing BackGround Information的算法,看测试图片,他能够把背景的纹理去除,然后只留下一些细小的线条特征。在我的已经试下的算法里,也确实有一个菜单叫做 Remove BackGruond,尝试利用那个算法对这个图像进行处理,可以得到如下所示图像:

结果也相当不错。
在基恩士里这个功能的结果大概如下图所示:

他把这个功能的名字翻译为实时差分,感觉有点无语。
我也在想基恩士是如何实现的呢,其实基恩士也算开放,他在我第一个贴图里提供了一份中间图像,而且下部还说明是使用了膨胀和收缩后得到的中间结果。
在上图这个界面中,可以看到这个功能有明暗抽取、抽取大小、处理方向等参数,通过这些参数我觉得就可以大概的猜测出函数的内部使用了哪些功能,比如明暗 应该就是决定了膨胀和收缩的前后顺序, 抽取大小其文档有说每次递增2,很明显就是收缩或膨胀的半径的意思(半径增加1,直径增加2)。处理方向不用想就是指单独水平、垂直或者两者均膨胀或收缩。 有了这些猜测,就可以大胆的去尝试了。下面是我对这个算法的尝试结果:

就是按照明暗不同,执行收缩和膨胀,然后和原图求差异,注意如果是提取Dark,最后在反色下。
这个结果和基恩士是比较接近的,只是对比度有所不同。

作为对比,我们还那这个图,但是我们抽取明部,然后抽取大小设置为25,相当于半径12,基恩士和我的比较结果如下所示:

除了对比不太一样外,基本差不多。
另外,这个算法比我们原来的去除背景对光照不均匀图像的处理效果要好,如下所示:

原图 早期的Remove BackGround算法 基恩士的这个算法
下面还是起来看下浓淡补正算法了。
本文Demo下载地址: https://files.cnblogs.com/files/Imageshop/SSE_Optimization_Demo.rar,位于Detection-》Auxliary Enhance-》Image Extraction。里面的所有算法都是基于SSE实现的。
如果想时刻关注本人的最新文章,也可关注公众号:

从局部信息推测基恩士的Removing BackGround Information算法的实现。的更多相关文章
- 基恩士的浓淡补正算法(Shading Correction Filter)的模拟实现。
知道这个算法应该有很久了,主要当时在意2个事情,一个是这个名字的翻译是在是搞笑,第二是这个算法的效果.不过一直以来都十分好奇这个算法是怎么实现的.因为之前一直无法实际的用基恩士的软件平台用不同的图片去 ...
- 安卓系统广播暴露设备信息-Android System Broadcasts Expose Device Information
Android device details are being exposed to running applications via Wi-Fi broadcasts in the mobile ...
- java-信息安全(一)-BASE64,MD5,SHA,HMAC
概述 信息安全基本概念: BASE64 编码格式 MD5(Message Digest algorithm 5,信息摘要算法) SHA(Secure Hash Algorithm,安全散列算法) HM ...
- java-信息安全(一)-BASE64,MD5,SHA,HMAC,RIPEMD算法
概述 信息安全基本概念: BASE64 编码格式 Base58 编码 MD5(Message Digest algorithm 5,信息摘要算法) SHA(Secure Hash Algorithm, ...
- 使用Varnish+ESI实现静态页面的局部缓存(思路篇)
使用Varnish+ESI实现静态页面的局部缓存(思路篇) 页面静态化是搭建高性能网站必用的招式之一,页面静态化可以有效提升系统响应速度,同时也有利于搜索引擎优化.但在页面静态化后,静态页面之间包含( ...
- 第十五节、韦伯局部描述符(WLD,附源码)
纹理作为一种重要的视觉线索,是图像中普遍存在而又难以描述的特征,图像的纹理特征一般是指图像上地物重复排列造成的灰度值有规则的分布.纹理特征的关键在于纹理特征的提取方法.目前,用于纹理特征提取的方法有很 ...
- SSE图像算法优化系列十四:局部均方差及局部平方差算法的优化。
关于局部均方差有着较为广泛的应用,在我博客的基于局部均方差相关信息的图像去噪及其在实时磨皮美容算法中的应用及使用局部标准差实现图像的局部对比度增强算法中都有谈及,即可以用于去噪也可以用来增强图像,但是 ...
- Kinect SDK(1):读取彩色、深度、骨骼信息并用OpenCV显示
Kinect SDK 读取彩色.深度.骨骼信息并用OpenCV显示 一.原理说明 对于原理相信大家都明白大致的情况,因此,在此只说比较特别的部分. 1.1 深度流数据: 深度数据流所提供的图像帧中,每 ...
- ajax跳转到新的jsp页面(局部刷新)
ajax可以实现局部刷新页面,即在不刷新整个页面的情况下更新页面的局部信息. 项目中遇到一个问题:在用户列表也,当点击某个按钮时需要去查询用户的信息,查询成功跳转到用户详情界面:查询失败,则在原页面弹 ...
随机推荐
- 2020西湖论剑一道web题[网盘]
题目: 一个网盘系统 图片: 解题手法 上传".htaccess"文件,改成可以执行lua脚本 内容为: SetHandler lua-script 编写lua脚本,而后进行get ...
- ubuntu创建pycharm快捷方式或不显示图标
ubuntu创建pycharm快捷方式或不显示图标 删除之前残留的pycharm快捷方式文件. sudo rm /usr/share/applications/jetbrains-pycahrm.de ...
- 简易table form梳理
<!-- A:表格-table <双标签,day3上午第一次接触> 作用:显示信息 一:table简易案例: <tabl ...
- 原生 js 重点案例 [tab栏切换]
代码示例 : <!DOCTYPE html> <html lang="en"> <head> <meta charset="U ...
- Jmeter监控平台搭建:JMeter+InfluxDB+Grafana
背景 平时一般用Jmeter的Gui模式,添加对应的插件,查看每秒线程数.TPS.响应时间等曲线,其实高并发是不建议这么看的. 解决方案 可以搭配InfluxDB+Grafana工具,使Jmeter异 ...
- CSS简单的网页布局
1 <!DOCTYPE html> 2 <html lang="en"> 3 <head> 4 <meta charset="U ...
- 转载:Linux图形界面知识(介绍X、X11、GNOME、Xorg、KDE等之间的关系)
转载 http://blog.csdn.net/zhangxinrun/article/details/7332049Linux初学者经常分不清楚linux和X之间,X和Xfree86之间,X和KDE ...
- vue 配置scss流程
引入相关的node包 npm install --save style-loader sass-loader node-sass file-loader 安装好之后,为了可以在.vue和.scss中使 ...
- 程序员延寿指南「GitHub 热点速览 v.22.17」
很多人对程序员的固有印象之一便是常加班.易"猝死"!近几年的许多报道似乎也进一步加深了这种印象.应该如何更好地健康地活着.敲喜欢的代码呢?HowToLiveLonger 教你如何从 ...
- sentinel基础概念及使用
点赞再看,养成习惯,微信搜索「小大白日志」关注这个搬砖人. 文章不定期同步公众号,还有各种一线大厂面试原题.我的学习系列笔记. 什么是sentinel sentinel是Spring Cloud Al ...